loading . . . GIMP 3.1.4: Second Development Release towards GIMPĂ 3.2 Weâre happy to announce the release of GIMP 3.1.4! This release contains initial implementations of our two main GIMP 3.2 roadmap items: link layers and vector layers. It also contains a number of other nice new features, bugfixes, and internal improvements. Weâre excited to share these with you and get your feedback in preparation for the GIMP 3.2 release candidate.
_New development splash screen by Aryeom and Michael Schumacher - GIMP 3.1.4_
Note that a development release is not ready for production use. It might crash. If it didnât have problems it would be 3.2 already. So please do test, but understand this is a feature release for early adopters and for the more adventurous!
* Non-Destructive Layers
* Link Layers
* Vector Layers
* GEGL Filter Browser
* MyPaint Brushes 2
* Text tool
* Plug-ins
* HRZ
* JPEGÂ 2000
* PAAÂ Textures
* Seattle Filmworks
* TIFF
* UX/UI
* Additional Fixes
* Internal Changes
* PDB
* Build Process
* Nightly Snap
* Nightly aarch64Â Flatpak
* Release stats
* Team news
* Downloading GIMPÂ 3.1.4
* Whatâs next
Weâll highlight some of the major features and fixes below. For more details, you can check out our NEWS Changelog.
## Non-Destructive Layers¶
This release contains initial implementations of our two GIMP 3.2 roadmap features, link layers and vector layers. We are especially requesting feedback on the stability and user experience of these new layer types - we will continue to polish these features in preparation for the first GIMP 3.2 release candidate.
### Link Layers¶
Link layers allow you to link external image files as a layer in your project. For instance, you might add an SVG image file as a link layer, make changes to it in Inkscape, and see it instantly updated inside GIMP! You can also non-destructively scale and rotate the link layer without impacting the quality of the original image.
**Jehan** initially developed the concept back in 2020, but it was put on hold in order to finish developing GIMP 3.0. Itâs now ready for testing in GIMPÂ 3.1.4!
_Editing a GIMP SVG Link Layer with Inkscape, by Jehan - GIMP 3.1.4_
To access this feature, go to the `File` menu and choose `Open as Link Layer...`. This will let you select an image to link from your file directory. Once linked, you can apply transforms and non-destructive filters as you like. You can replace the linked image by double-clicking the icon in the layer dockable or right-clicking and choosing âEdit Layer Attributesâ. To convert it to a normal raster layer, you can right-click and choose âDiscard Link Informationâ.
Among the planned changes, we want to add the ability to select a layer to show from a linked file, instead of always showing the full image. This would allow to link another XCF file selectively.
Note that this is an _initial_ UI/UX design - we look forward to your feedback so we can continue to improve it!
### Vector Layers¶
Vector layers allow you to create a shape and set its fill and stroke properties. You can then change the shape path, swap out different color settings, and transform the layer non-destructively, without losing any sharpness!
The code for vector layers began as a Google Summer of Code project by **Hendrik Boom** all the way back in 2006. Since then, it has been updated and ported by a number of developers including **Martin Nordholts** , **Gilles Rochefort** , **Michael Natterer** , and **Jacob Boerema**. **CMYK Student** continued this legacy and now this feature is implemented in GIMP 3.1.4 after initial design feedback by **Aryeom** , **Reju** , and **Denis Rangelov**!
_Flower (created with early Vector Layers) by Reju - GIMP 3.1.4_
To create a vector layer, use the Path tool to draw a path. Click the `Create vector layer` button to generate a vector layer associated with that path. From here, you can continue to edit the path - the vector layer will automatically update. Once you have a vector layer selected, you can edit fill and stroke settings via the Path tool (or by double-clicking the thumbnail in the layer dock). The transform tools can also be used to non-destructively rotate, scale, and otherwise contort the vector layer. As with link layers, you can also convert the layer to a regular raster layer by right-clicking on the layer in the layer dock and choosing âDiscard Vector Informationâ.
_Wilber (created with vector layers)by Reju - GIMP 3.1.4_
Note that this is an _initial_ UI/UX design - we look forward to your feedback so we can continue to improve it!
## GEGL Filter Browser¶
Our GSoC student **OndĂ
Âej MĂÂchal** has added, as part of their summer project, the GEGL Filter Browser! This tool shows, similarly to the existing Procedure Browser, a list of all GEGL operations (i.e., filters) and information related to their use.
_A screenshot of the new GEGL Filter Browser._
This browser is not just another alternative to the GEGL website or the `gegl` command-line utility. GEGL is extensible and users can register into it new operations. GIMP is also one of these users! GEGLâs website only shows information about operations shipped by GEGL, the `gegl` utility can also show operations installed by users but does not show operations registered by GIMP at runtime. The new browser is capable of showing **all** of these operations!
We hope this browser will make it easier for plug-in developers to discover filters they would like to use with the `gimp-drawable-filter-* ()` API for non-destructive editing introduced in GIMP 3.0 and help them in using them.
The new browser can be accessed under the Help menu or by using the `/` to search for âGEGL Filter Browserâ.
## MyPaint Brushes 2¶
We have updated our MyPaint code to support the version 2 brushes. This update allows the MyPaint brush engine to take your canvas zoom and rotation into account when painting, to better simulate real brush strokes.
GIMP now comes with over 20 new brushes from the `Dieterle` set bundled with MyPaint Brushes 2. Some of these include the much requested _arrow brush_ and a _Posterizer brush_ inspired by GIMPâs own Posterize filter. Of course, you can also add your own MyPaint brushes to use.
_Examples of the new MyPaint Brushes - GIMP 3.1.4_
In addition to the MyPaint version 2 port, weâve also added a new `Gain` slider in the MyPaint Brush tool. This controls how much pressure the brush engines thinks youâre applying when painting. This should be useful if youâre painting with a mouse and want to simulate pressing the brush harder or softer - it can also be helpful for tablet users who want to offset their own stylus pressure.
As a note for software packagers, GIMP now depends on `mypaint-brushes-2.0` instead of `mypaint-brushes-1.0`. In our official builds, we also apply a patch that fixes warnings for libmypaint due to typos in some of the version 2 brush properties.
## Text tool¶
Another of our GSoC students **Gabriele Barbero** has been working on a number of updates to the text tool. We recently merged some of their first improvements! Now in the on-canvas editor, you can use `Ctrl` + `B` to **bold** , `Ctrl` + `I` to _italicize_ , and `Ctrl` + `U` to _underline_ text. We hope to merge more of their updates in the next development release, which we detail in the Teams News section below.
Additionally, the outline color now shows a live preview as youâre changing it in the color selection dialogue, instead of only updating once you confirm your choice.
## Plug-ins¶
### HRZ¶
HRZ is an older format for storing SSTV signals, exactly 256x240 8-bit RGB images. In older versions of GIMP there was a separate plug-in that supported importing this format, but it was removed. We have restored import support as part of our general raw data plug-in.
### JPEG 2000¶
We now support importing _signed_ JPEG 2000 images. Most image formats store pixels with positive values. However, JPEG 2000 is used in several scientific operations where they might want to visualize negative values as well. Thanks to **Allan Barklie** for both pointing out the problem and sharing sample images to test with!
### PAA Textures¶
GIMP can now import non-DXT PAA textures. This texture format is used in games created by Bohemia Interactive Studio.
### Seattle Filmworks¶
From the 70s to the early 2000s, you could mail Seattle Filmworks your photo film and theyâd digitize it in their proprietary image format. They made several versions, mostly based on a mangled form of JPEG. Weâve added support for importing the `SFW93A` and `SFW94A` versions of the Seattle Filmworks format. Special thanks to **Loren Amelang** for sharing additional sample images and notes.
### TIFF¶
We have further improved our support for TIFFs created with Sketchbook. In addition to the layer support added in 3.0 RC1, we now load layer visibility, blending modes, and color tags. Group layers are also loaded, along with which layer was selected.
## UX/UI¶
We continue to discuss, review, and implement user experience improvements. As always, we extend an invitation for you to contribute as part of the UX repo!
* Our GSoC student **Gabriele Barbero** improved our support for showing the correct time format based on your system settings. If you have your time set to a 12 hour system, the time will be shown this way on the âUp to date as ofâŠâ section of the About Dialog instead of always using a 24 hour format.
* **Reju** developed a new design for the Animation Playback plug-in. The layout now resembles the standard interface seen in video software like VLC Player. In addition, the progress bar is now a slider widget, which allows you to easily slide to a specific frame rather than repeatedly clicking the frame advance buttons.
* **Gabriele Barbero** has updated our macOS code to support the System Colors theme. Now GIMP will adapt to match the macOS dark mode setting if you have your color scheme set to âSystem Colorsâ.
* During 3.0 RC development, we added support for turning off animations based on OS settings. We extended this support to also control the sliding animations seen when switching pages in the Welcome and Preferences dialogues.
* While many users find the Welcome Dialogâs Create tab to be a convenient feature, it did prevent the New Image and Open Image keyboard shortcuts from working unless it was turned off on start. Thanks to **Gabriele Barbero** , you can now have the best of both worlds - the Welcome Dialog will respond to those keyboard shortcuts!
* A small but often requested change is that the color selector no longer shows decimals when set to `0...255` mode. This makes it clearer when youâre in that mode compared to `0...100%`, and that youâre entering a whole number for the color instead of a percentage.
* Many of GIMPâs âsize entryâ fields allow you to enter mathematical expressions such as `3 * 92cm` to calculate values. **Gabriele Barbero** extended this feature to our Configure Grid dialogue and Monitor Resolution settings in Preferences.
## Additional Fixes¶
* **Jehan** made further fixes to our code to import user configurations from older versions of GIMP to 3.2 (and the 3.1 development releases)
* On Windows with the display scaled more than 200%, the crosshair cursor was in the wrong place compared to where the mouse pointer actually was. This was due to changes in how scaling is handled in GTK3. This bug should be fixed now. Thanks to **Lance Evans** for pointing it out in their review of GIMPÂ 3.0!
* New contributer **Corentin NoĂ«l** developed a fix for the Image Settings tab not appearing when printing in sandboxed applications like flatpak or snap. Due to restrictions, the tab will be created as a secondary dialogue instead - allowing you to edit those settings once again. This patch is a more future-proof version of an earlier attempt by **BZZZZ** creatively bypassing the sandbox portal. We appreciate the work of both contributers to fix this problem! This proposed solution is not ideal, UX-wise, compared to the original tab, but it is necessary because the portal print dialog is hardly usable without these settings.
* The experimental Seamless Clone tool was broken when we updated our code to handle copy and pasting multiple layers. This has been fixed, so you can now test out the tool again by enabling it in Preferences. However, the tool itself is still quite slow, so it remains in the experimental Playground until further work can be done on it.
* We received a report that the âImport Raw Dataâ dialogue was too tall for some screens. We converted it to a two-column dialogue to reduce the height and better ensure everythingâs visible on all screens.
* As part of the port to GTK3, the default cursors were updated. This change led to some users experiencing the dreaded âHandâ cursor when hovering over a number slider widget. Unfortunately, the arrow cursor from GIMP 2.10 is not included on all platforms so we had to devise an alternate method. **Denis Rangelov** and **Michal VaĂ
ÂĄut** helped us find an initial solution while we continue to work on the design. We hope the current solution will make it easier for you to see where youâre clicking!
* **Jacob Boerema** has added a new preference option to âUpdate metadata automaticallyâ. When turned off, GIMP will no longer update comments or historical metadata such as creation time or software. This allows you to keep that metadata undisturbed even if you edit the image in GIMP. Note that image-related metadata such as thumbnails will still be updated, though you can control whether that is included in the final image on export.
* **Anders Jonsson** continues their important work of finding and marking areas of the GUI as translatable. These fixes may not be immediately apparent for all languages, but his work makes it possible for those to be translated. If youâre interested in helping with translation, find your language and look for the `GIMP and Friends` section to contribute.
## Internal Changes¶
Our co-maintainer **Michael Natterer** has been hard at work reviewing and improving our internal code. While less visible than some of the other changes listed above, this work is very important to GIMPâs stability and ease to work with. A few highlights:
* Reorganizing our layer search code so it can be used with other items like channels and paths in the future.
* Finishing our internal renaming process from `GimpVectors` to `GimpPath`, for consistency and to reduce confusion with the new Vector Layers code structures.
* Reviewing and removing unnecessary or outdated test cases and code warnings.
* Restructuring our internal `GimpControllerManager` and `GimpContainerView` APIs.
_Mitch working hard during Wilber Week 2025 - GIMP 3.1.4_
Several of his changes are also laying the foundation for a future port to GTK4! These include moving code away from `GtkTreeView` which will be deprecated in future GTK versions, and converting to using `GtkListBox`. You can try out some of the future changes by enabling `Use GtkListBox for simple lists` in the Playground section of Preferences. Please report any bugs or performance issues you encounter!
**Jehan** has also created a new `GIMP_WARNING_API_BREAK()` macro. We use this in areas where we identify potential improvements that would break the public API. These will throw warnings when we start future development of GIMP 4, so that we know to re-examine those parts of the code to fix them.
## PDB¶
For plug-in developers, weâve added some new public API features. You can now change the paintbrush fade length and repeat settings with `gimp-context-set-paint-fade-length` and `gimp-context-set-paint-fade-repeat`. These functions work best in scripts when `gimp-context-set-emulate-brush-dynamics` is used to enable emulating brush dynamics.
The `gimp-file-save` API now also updates the imageâs associated saved or exported file, so that changes are reflected in the GUIâs titlebar as well as future operations.
Weâve also added some initial public API for creating vector layers. You can use `gimp-vector-layer-new` to create a vector layer, `gimp-vector-layer-refresh` to update the view after adjusting the path, and `gimp-vector-layer-discard` to convert it to a raster layer. We will add more functions in future releases to adjust the fill and stroke settings.
## Build Process¶
On GIMP 3.1.4 development cycle, **Bruno Lopes** focused their attention on Linux (again) by adding two new official nightly builds:
### Nightly Snap¶
The biggest addition to our CI recently is a new Snap package available for aarch64 and x86_64. `.snap`, although mainly used on Ubuntu, is a distro-independent packaging format for Linux that allows users to install and keep GIMP updated in a separate environment, similar to AppImage and Flatpak. We believe that it is always good to provide more universal and established packaging options, especially considering how diverse the Linux community is.
Please note that, right now, **it is not available on the Snap Store yet**. We are still talking with the Snapcrafters developers to pass over the ownership of the GIMP store entry so we can maintain it. You can track our progress on their tracker. When that happens, we will be able to publish unstable and stable releases on the Snap Store on the same day we release the other official packages. Until then, you can install the nightly Snap by following these instructions
### Nightly aarch64 Flatpak¶
We have had nightly flatpak builds for x86_64 architecture for several years, but didnât had for aarch64 (only for releases on flathub). Now we will be distributing on our CI and on GNOME nightly repository aarch64 builds as well.
Unfortunately, the future availability of these nightly builds is way less certain since GNOME GitLab have only one working runner for this purpose and this runner is sponsored by Open Source Lab, which is in a delicate situation. So, we always welcome runner sponsors
## Release stats¶
Since GIMP 3.1.2, in the main GIMPÂ repository:
* 79 reports were closed as FIXED.
* 73 merge requests were merged.
* 687 commits were pushed.
* 16 translations were updated: Basque, Bulgarian, Catalan, Chinese (China), Dutch, Georgian, German, Italian, Norwegian Nynorsk, Romanian, Russian, Slovenian, Swedish, Thai, Turkish, Ukrainian.
30 people contributed changes or fixes to GIMP 3.1.4 codebase (order is determined by number of commits; some people are in several groups):
* 13 developers to core code: Michael Natterer, Jehan, Alx Sa, Jacob Boerema, Gabriele Barbero, OndĂ
Âej MĂÂchal, Niels De Graef, Bruno Lopes, lillolollo, Anders Jonsson, Henk Boom, Joey Riches, Liam Quin.
* 10 developers to plug-ins or modules: Alx Sa, Jacob Boerema, Jehan, Anders Jonsson, OndĂ
Âej MĂÂchal, Michael Natterer, Niels De Graef, Bruno Lopes, Corentin NoĂ«l, lillolollo.
* 18 translators: Yuri Chornoivan, Martin, Luming Zh, Ekaterine Papava, KolbjĂžrn StuestĂžl, Marco Ciampa, Cristian SecarĂÂ, Anders Jonsson, Asier Saratsua Garmendia, Alexander Alexandrov Shopov, Jordi Mas, Aefgh Threenine, Aleksandr Prokudin, Alexander Shopov, Asier Sarasua Garmendia, Emin Tufan ĂÂetin, Nathan Follens, Philipp Kiemle.
* 3 theme designers: Alx Sa, Niels De Graef, OndĂ
Âej MĂÂchal.
* 4 contributors on other types of resources: Jehan, Michael Natterer, Gabriele Barbero, Henk Boom.
* 9 build, packaging or CI contributors: Bruno Lopes, Michael Natterer, Jehan, Alx Sa, Joey Riches, Niels De Graef, Jacob Boerema, OndĂ
Âej MĂÂchal, Henk Boom.
Contributions on other repositories in the GIMPverse (order is determined by number of commits):
* Our UX tracker had 6 reports closed as FIXED.
* ctx had 172 commits since 3.1.2 release by 1 contributor: ĂÂyvind KolĂ„s.
* `gimp-data` had 11 commits by 3 contributors: Bruno Lopes, Jehan, Aryeom.
* The `gimp-test-images` (unit testing repository) repository had 4 commits by 1 contributor: Jacob Boerema.
* The `gimp-macos-build` (macOS packaging scripts) release had 15 commits by 3 contributors: Lukas Oberhuber, Bruno Lopes, Gabriele Barbero.
* The flatpak release had 14 commits by 1 contributor, aided with 2 bots: Bruno Lopes,
* Our main website (what you are reading right now) had 67 commits by 5 contributors: Bruno Lopes, Jehan, Alx Sa, OndĂ
Âej MĂÂchal, gturri.
* Our developer website had 36 commits by 3 contributors: Bruno Lopes, Jehan, Petr Vorel.
* Our 3.0 documentation had 84 commits by 13 contributors: Marco Ciampa, Alevtina Karashokova, KolbjĂžrn StuestĂžl, Nathan Follens, Jacob Boerema, Matthew Leach, Jordi Mas, Andre Klapper, Anders Jonsson, Andrei Rybak, Dick Groskamp, Julia Dronova, Yuri Chornoivan.
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 discussion channels or social network accounts such as Ville PĂ€tsi, Liam Quin, Michael Schumacher and Sevenix!
_Note: considering the number of parts in GIMP and around, and how we get statistics through `git` scripting, errors may slip inside these stats. Feel free to tell us if we missed or mis-categorized some contributors or contributions._
## Team news¶
Our GSoC students continue to make excellent progress on their projects!
* **OndĂ
Âej MĂÂchal** has already completed their core work on the GEGL Filter Browser (as noted above). Their next steps include collecting and reacting to user feedback, adding usage examples to both the new GEGL Filter Browser and Procedure Browser, and explore how the, now 3, developer browsers can be potentially merged in the future into a single point of reference for developers. You can read OndĂ
Âejâs final report for GSoC on his blog.
* **Gabriele Barbero** has been working with mentor **Liam Quin** on several âalmost-thereâ merge requests for improvements to the text tool! These include being able to move the on-canvas editor, see live previews of selected text color changes, and an overhaul of the text toolâs layout. You can read more about their work in their status report. Outside of GSoC, theyâve also been busy contributing some needed fixes for our macOSÂ support.
* **Shivam** has continued their work with mentor **Jehan** to build our Extensions infrastructure. When finished, this system will allow you to easily download, install (or uninstall), and use plug-ins, brushes, themes, and other custom features of GIMP without having to dig through folders and files. We look forward to sharing more details in a future update!
Also we recently came back from our Wilber Week event, which is an irregular team meeting. Twelve contributors were present. This year, the week was themed around the 30 years of GIMP (depending on how we look at it, GIMP may be already 30 year old ù if we consider the first references to an unnamed project in emails ù or will soon be, on November 21, if we consider the first release), as can be seen with the splash image.
So I guess: ð„³ Happy birthday GIMP! ð Happiness to Wilber and the whole community! ð„Âð€Â
## Downloading GIMP 3.1.4¶
You will find all our official builds on GIMP official website (gimp.org):
* Linux AppImages for x86 and ARMÂ (64-bit)
* Linux flatpaks for x86 and ARMÂ (64-bit)
* Universal Windows installer for x86 (32 and 64-bit) and for ARMÂ (64-bit)
* Microsoft Store package for x86 and ARMÂ (64-bit)
* ~~macOS DMG packages for Intel hardware~~
* macOS DMG packages for Apple Silicon hardware
Other packages made by third-parties are obviously expected to follow (Linux or *BSD distributionsâ packages, etc).
_Note_ : we donât provide a macOS package for Intel processor at release time because of last-minute issues. The package may come back soonùŠ or not. Which is also a good occasion to remind that we always welcome new testers! ð€ Our macOS packages have nearly nobody testing it apart our (awesome!) packager, **Lukas Oberhuber**.
ð If anyone wishes to be a tester (for macOS or any other OS/package), reach out by opening an issue here telling us for which operating systems, architectures and packages you wish to contribute testing before a release.
There is no development release for the manual, but you can continue to use the existing GIMP 3.0 documentation.
## Whatâs next¶
Now that weâve implemented initial versions of the two main roadmap items, we will begin shifting our focus to developing the first GIMP 3.2 release candidate. This is in keeping with our new release policy - smaller, faster development cycles that get new features out to you all sooner!
Note that we definitely expect bugs and UX issues at this stage of the development of GIMP 3.2. We are releasing an early version containing in particular the two major features of GIMP 3.2 (link and vector layers) in order to get early feedback and suggestions to make the best possible implementation when we will release these as a stable version. Our designers are aware that their usability is not always ideal currently; we expect to get there with your help.
User testing and feedback is crucial - we want to hear from you. Help us find bugs and polish the user experience, so we can make the best version of GIMP 3.2 we can!
DonĂąÂÂt forget you can donate and personally fund GIMP developers, as a way to give back and accelerate the development of GIMP. Community commitment helps the project to grow stronger!
You can suggest changes or report bugs by following the link to report a bug near the bottom of www.gimp.org.
*[UI/UX]: User Interface/User Experience
*[SSTV]: Slow-scan Television https://www.gimp.org/news/2025/09/01/gimp-3-1-4-released/