Return to site

Release The Gimp

broken image


  1. Release The Gimp

The new unstable version of GIMP, 2.99.2, marks the first step towardsGIMP 3 based on the GTK3 user interface toolkit.

Manual Source Release for GIMP 2.10. 2.10.0 (2019-06-21, 179 MB) Source Code. Use git to grab the source code from. You signed in with another tab or window. Reload to refresh your session. You signed out in another tab or window. Reload to refresh your session. To refresh your session. Using Ctrl + Shift together can do a variety of things, depending on which tool is used. Common to all selection tools is that the selection mode will be switched to intersection, so that after the operation is finished, the selection will consist of the intersection of the region traced out with the pre-existing selection. GIMP 2.10.10 is another one of the GIMP updates that contained some sneaky-good features, like the on-canvas layer selection for finding any layer with a simple shortcut key, the debut of the smart colorization feature for coloring in hand-drawn lines (though this feature was still rough around the edges in this release version), readjust handles for transform tools, and a major step towards.

Release highlights:

  • GTK3-based user interface, with native support for Wayland and HiDPI displays.
  • Major refactoring and cleanup
  • Multiple layers selection
  • More (color) space invasion
  • Render caching available for better performance
  • New plug-in API
  • Plugins now possible with Python 3, JavaScript, Lua, and Vala
  • GTK3-based UI
  • Plug-in API
  • Packaging

GTK3-based UI

The first difference will be visual as you will notice that GIMP got abit more of a modern look and it can also use some new widgets (insteadof redeveloping them on GTK2) as well as client-side window decorationson various dialogs. But the aesthetic differences are far from being themain appeal of GTK3.

High pixel density displays¶

One of the main issues of GTK2 was the absent support for high pixeldensity displays (e.g. small screens with high resolution or big screenswith extremely high resolution) which has become more widespread,especially among graphics professionals. GIMP 2.10 came with partialworkaround which was acceptable only in some limited cases but was notreally appropriate for intense use of the software.

GTK3 brings proper support to GIMP so it will follow your system-set scale settings.

Status: done, some custom widgets might still need an update.

Improved input devices support¶

By 'input device', we are mostly talking about drawing tablets orpen displays. In GIMP 2, their support had many shortcomings: you had toplug the tablet before starting GIMP, enable each new device explicitlyin the settings and, worse, unplugging the tablet could lead toinstability of the software (though this issue got mostly worked aroundon GTK2 by GIMP developers in the v2.8 release series).

GIMP 3 (hence this first development release) is bringing hotplug support,which means: start GIMP, plug your tablet, done. You are ready to draw,with pressure, tilt, and everything.

We are also trying to improve general support by making the advancedconfiguration of input devices easier to set.

A while ago, we also experimented with support for touch gestures likezooming, panning, rotating etc. We did not finish this work because werealized this was not a priority compared to some other features.

Touch gestures are very nice and awesome but also sometimes become a burden.Actually, many professional artists even disable touch sensitivity toprevent unwanted input while working with a stylus (high-end tablets oftencome with a physical switch for this nowadays, and this can also be disabledin tablet settings). With this in mind, we have decided to not make ita priority compared to some other work-in-progress. So we are not surewhether specific gesture support will make it to GIMP v3.0. We dowelcome patches from anyone willing to make it one's priority though.

Status: some work needs to be done to simplify configuration dialog asthe support for legacy features is either not needed anymore or can bedone better. We might also want to add support for Wayland-specificfeatures related to input devices.

Theming¶

With GTK3, we also inherit its CSS-based theme format. Unfortunatelythis means that all custom-made themes from past versions will beincompatible with GIMP 3.0 and future releases. On the bright side,this new theme format uses a very well known theming standard. Thisshould make it much easier to tweak GIMP's interface to your needs and preferences.

Gimp

Moreover, the symbolic icon themes are much better supported. They willfollow the theme-set foreground and background colors. If you ever had toswitch from a dark theme to a light one in GIMP 2.10, you probablyremember you also had to switch the symbolic icon themes manually. Thiswon't be necessary anymore as symbolic icons will be recolored accordingto your theme.

Finally, the 'dark theme' is a core concept of GTK3, which means,for instance, that even window decorations get recolored as you cansee in the screenshot above.

Also, a same theme could propose both a dark and a light variant, so theTheme preferences page shows a 'Use dark theme variant if available'checkbox. Similarly, icon themes may propose both symbolic and coloricons. Which is why the 'Icon Theme' preferences page has a 'Usesymbolic icons if available' switch so that you could choose yourpreferred style.

Status: waiting for theme contributors.

Code-side, changes related to theming are basically done. Now we need anew default theme.For now, GIMP 2.99.2 only lists the 'System' theme, which lets GIMPfollow your system-wide GTK theme. This is a regression from 2.10 thatwe intend to fix in time for GIMP 3.0 by reintroducing a default themewith a neutral dark/light variant as well as a neutral middle-graycustom theme.

The main issue with system themes is that they cover very basic desktopuse cases. Meanwhile, advanced graphics work requires a neutral gray themeto avoid polluting your color perception. This is the main reason whyGIMP needs to default to a neutral color theme with symbolic icons.

Colored themes and icons are still an option, and, in fact, we arepretty sure that the community will soon come up with good-lookingcustom themes. This is a great way to contribute to GIMP as a non-developer!

Wayland support¶

The port to GTK3 should normally give us Wayland support on Linux for free.And it mostly does. Unfortunately, a few bugs have already been reportedfor GIMP running on Wayland. Some of them are clearly blockers for releasingGIMP 3 (such as various weird GUI bugs or huge memory leaks). Others are less seriousbut still are a bit embarrassing, like the one where the splash screen isbroken on HiDPI displays because Wayland doesn't report scaling properly.

Until these issues are fixed, we don't think we can safely claim that weprovide appropriate Wayland support. We will be grateful for all patches toaddress that, whether they arrive to GIMP, GTK, or another relevant partof the technology stack. If you are interesting in helping out, here is thelist of Wayland-related bugs.

Appropriate Wayland support also means we need to reimplement a fewfeatures through so called portals. We have already done this for thescreenshot plug-in (using Freedesktop, GNOME, and KDE portals), and thereis some ongoing work to fix on-display color picking (already works in KDE,doesn't yet work with GNOME and Freedesktop portals).

As for the file portal, this is probably something that won't happenfor GIMP 3.0, because we still require some features of the GTK filedialog, but it might happen later with a planned redesign for improvedexport process.

Status: a few blocking bugs in particular require attention. Wewelcome contributions.

Multi-layer selection¶

Managing a complex project with tens and hundreds of layers is now mucheasier thanks to newly added multi-layer selection. Aryeom, the animation film directorworking with the core team, has been asking for this since 2015, sothe ZeMarmot project finally made this happen. This is anotherexample of a successful close artist-developer collaboration: every featurewas carefully designed following discussions and was tested in production.

The Layers dockable is now fully multi-selection aware, using the usualinteraction for multi-items selection (Shift+click for selecting arange of layers and Ctrl+click for selecting or deselectingnon-contiguous layers). Organizational operations now work on allselected layers, i.e. that you can move, reorder, delete, duplicate,merge (and more…) all selected layers at once.

Several tools now also work on multiple selected layers. For instanceall transform tools (move, rotation, scale, perspective, unifiedtransform…) will transform all selected layers (in addition to the existinglayer links with the 'chain' icon). Skyrim 6 ps4 release date. You can also crop several layers atonce or copy-paste merged layers' projection. Even the Color Picker toolcan now pick merged color from several layers (some kind of partial'Sample merged' without having to hide unwanted layers).

These are just a few examples because this change affects a large partof the code base: the concept of an active layer is prominent in everyaction. You can read more about this in a detailed developmentreport.

Status: this is a work in the progress.

Some features in GIMP still expect a single layer and need to be fixedbefore the final release. It's possible that we will inadvertently breaksomething while working on that, which is why it's important that we domore development releases. Moreover, we might extend the multi-itemselection to paths and channels soon.

Finally, painting and GEGL operations (filters) are still limited tosingle layers. Adding ability to paint or run pixel operations onseveral layers at once will probably require some additional interfacespecification and designing to prevent undesired consequences likeextremely slow operation or the ability to cancel a long-running process.

Plug-in API

Release

Moreover, the symbolic icon themes are much better supported. They willfollow the theme-set foreground and background colors. If you ever had toswitch from a dark theme to a light one in GIMP 2.10, you probablyremember you also had to switch the symbolic icon themes manually. Thiswon't be necessary anymore as symbolic icons will be recolored accordingto your theme.

Finally, the 'dark theme' is a core concept of GTK3, which means,for instance, that even window decorations get recolored as you cansee in the screenshot above.

Also, a same theme could propose both a dark and a light variant, so theTheme preferences page shows a 'Use dark theme variant if available'checkbox. Similarly, icon themes may propose both symbolic and coloricons. Which is why the 'Icon Theme' preferences page has a 'Usesymbolic icons if available' switch so that you could choose yourpreferred style.

Status: waiting for theme contributors.

Code-side, changes related to theming are basically done. Now we need anew default theme.For now, GIMP 2.99.2 only lists the 'System' theme, which lets GIMPfollow your system-wide GTK theme. This is a regression from 2.10 thatwe intend to fix in time for GIMP 3.0 by reintroducing a default themewith a neutral dark/light variant as well as a neutral middle-graycustom theme.

The main issue with system themes is that they cover very basic desktopuse cases. Meanwhile, advanced graphics work requires a neutral gray themeto avoid polluting your color perception. This is the main reason whyGIMP needs to default to a neutral color theme with symbolic icons.

Colored themes and icons are still an option, and, in fact, we arepretty sure that the community will soon come up with good-lookingcustom themes. This is a great way to contribute to GIMP as a non-developer!

Wayland support¶

The port to GTK3 should normally give us Wayland support on Linux for free.And it mostly does. Unfortunately, a few bugs have already been reportedfor GIMP running on Wayland. Some of them are clearly blockers for releasingGIMP 3 (such as various weird GUI bugs or huge memory leaks). Others are less seriousbut still are a bit embarrassing, like the one where the splash screen isbroken on HiDPI displays because Wayland doesn't report scaling properly.

Until these issues are fixed, we don't think we can safely claim that weprovide appropriate Wayland support. We will be grateful for all patches toaddress that, whether they arrive to GIMP, GTK, or another relevant partof the technology stack. If you are interesting in helping out, here is thelist of Wayland-related bugs.

Appropriate Wayland support also means we need to reimplement a fewfeatures through so called portals. We have already done this for thescreenshot plug-in (using Freedesktop, GNOME, and KDE portals), and thereis some ongoing work to fix on-display color picking (already works in KDE,doesn't yet work with GNOME and Freedesktop portals).

As for the file portal, this is probably something that won't happenfor GIMP 3.0, because we still require some features of the GTK filedialog, but it might happen later with a planned redesign for improvedexport process.

Status: a few blocking bugs in particular require attention. Wewelcome contributions.

Multi-layer selection¶

Managing a complex project with tens and hundreds of layers is now mucheasier thanks to newly added multi-layer selection. Aryeom, the animation film directorworking with the core team, has been asking for this since 2015, sothe ZeMarmot project finally made this happen. This is anotherexample of a successful close artist-developer collaboration: every featurewas carefully designed following discussions and was tested in production.

The Layers dockable is now fully multi-selection aware, using the usualinteraction for multi-items selection (Shift+click for selecting arange of layers and Ctrl+click for selecting or deselectingnon-contiguous layers). Organizational operations now work on allselected layers, i.e. that you can move, reorder, delete, duplicate,merge (and more…) all selected layers at once.

Several tools now also work on multiple selected layers. For instanceall transform tools (move, rotation, scale, perspective, unifiedtransform…) will transform all selected layers (in addition to the existinglayer links with the 'chain' icon). Skyrim 6 ps4 release date. You can also crop several layers atonce or copy-paste merged layers' projection. Even the Color Picker toolcan now pick merged color from several layers (some kind of partial'Sample merged' without having to hide unwanted layers).

These are just a few examples because this change affects a large partof the code base: the concept of an active layer is prominent in everyaction. You can read more about this in a detailed developmentreport.

Status: this is a work in the progress.

Some features in GIMP still expect a single layer and need to be fixedbefore the final release. It's possible that we will inadvertently breaksomething while working on that, which is why it's important that we domore development releases. Moreover, we might extend the multi-itemselection to paths and channels soon.

Finally, painting and GEGL operations (filters) are still limited tosingle layers. Adding ability to paint or run pixel operations onseveral layers at once will probably require some additional interfacespecification and designing to prevent undesired consequences likeextremely slow operation or the ability to cancel a long-running process.

Plug-in API

We had to break the plug-in APi to introduce many improvements, although wetook a special care not to break things where it wasn't necessary to do so.

Porting a single-file plug-in from GIMP 2.10 to GIMP 3 usually takes between5 and 30 minutes. We are working on a porting documentation to be releasedalong with GIMP 3.

If you are a plug-in developer, one of the first steps you can take ismaking sure you don't use any deprecated functions. We compiled a list of functions removed and theirreplacement. You can already do this part of the port while still targeting GIMP 2.10.x versions.

Object API

Among the noteworthy changes, we moved away from object IDs to realobjects. In particular in GIMP 3, GimpImage, GimpItem,GimpDrawable, GimpLayer, GimpVectors, GimpChannel and GimpPDBare objects (other classes of objects already exist or may be added later).

It brings safer programming by having typed objects whose class can beeasily verified, hence better error messaging (with IDs, which arebasically integers, having weird bugs because of improper IDs was notuncommon and it was not always easy to track the bug).

Also object-programming implies class inheritance. Typically aGimpLayer is also a GimpDrawable, itself a GimpItem. This meansyou can use any methods from parent classes and easily test for class ownership.

A non-C consequence is that it enables bindings to adapt the API totheir own object model. Hence duplicating a GimpImage named forinstance img in Python 3 can be done with the quite pythonic APIimg2= img.duplicate().

Status: object port is basically done. We also want to use objectsignalling, which is a work-in-progress and should eventually allow toconnect signal handlers directly on objects, in order to manage eventsfrom the core application (something impossible in GIMP 2, except byregular polling).

GIO usage for file handling¶

Another change in our API is that paths are now handled as GFile,which implies using the GLib/GIOAPI.

While it may seem a bit cumbersome (as it adds the additional step ofcreating and managing a GFile), this allows much more robust filehandling. In particular, you won't have to take care about pathcharacter encoding (a real issue when developers just assume everyoneuses the same encoding as themselves) hence broken paths andnon-portable code. Also we don't have to deal with difference ofoperating systems regarding folder separation or file system notations.Working with a GFile makes internal representation transparent andfile handling robust.

The second big advantage is that it means all such API gains any abilityof installed GIO modules, in particular loading or saving from/to remotelocations (even possibly through secure channels like HTTPS).This opens a wide range of possibilities.

GIO port of file handling had been done in the core code of GIMP, backfor GIMP 2.10 initial release. We are now bringing the advantages toplug-in developers as well in GIMP 3.0.

Status: done, except with legacy bindings.

Language bindings through GObject Introspection also have full access toGLib/GIOAPI so they are already able to create GFile from paths or URIwithout any problem.Yet legacy manual bindings, such as script-fu (Scheme), don't haveGFile access. We are working on it (a patch even already exists, butneeds to be reviewed).

Plug-in declaration¶

Some major changes have been done in the API to declare your plug-in.This is now done by subclassing the GimpPlugIn class and overridingsome methods to list and document the created plug-in procedures. Wemade a much cleaner and explicit API than the previous one which shouldhelp plug-in developers.

The way your plug-in procedure's arguments are now handled has also beenstandardized, in particular using config GObject properties. This iseasier to deal with as a generic logics. Especially the same configobject allows us to generate many features. For instance, it will helpgenerate dialogs on demand for plug-ins who do not want to tinker withGTK or other toolkit themselves. It also simplify and standardizeargument saving for subsequent calls or a same procedure.

Eventually this is also part of the base work for a futurerecording/macro feature (very unlikely to be in GIMP 3.0, but this ispart of the ground work towards such feature) since we will be able toreliably save the arguments used when running plug-ins.

Status: though the main part of this API Viruskiller antivirus 4 1 8. is done, more needs to happenbefore the release, and in particular we are still tinkering with theargument representation.

Bindings¶

We have introspected the full API through GObjectIntrospection. It means that GIMPAPI should be fully usable in a wide range of language bindings. We haveonly tested a few so far, so we can confirm that GIMP can now bescripted (additionally to C and C++ of course) with:

  • Python 3
  • JavaScript
  • Lua
  • Vala

One of the main differences with how GIMP used to be scriptable, withPython 2 notably, is that a custom layer API is not needed anymore.

Also GIMP 2 bindings used to be made around the PDB protocol which isonly a subset of the full C libgimpAPI. The new bindings are builtaround libgimp itself. Therefore plug-ins in Python 3, Javascript, Luaor Vala (or any future introspected binding) will have the samepossibilities as C plug-ins. This is a bright new world for GIMP plug-in developers!

Another consequence is that the API is basically the same for all theselanguages, apart for language idiosyncrasies.For instance if finding an intersection of a drawable with a selectionin C is:

In Javascript, it will be:

Or again in Python 3:

https://hgts.over-blog.com/2021/01/mac-os-yosemite-compatibility-list.html. Another nice example is how C-type arrays, with an additional lengtharguments are handled. As expected, the length argument does not existin a binding if the target language has an appropriate structure.For instance, while you can copy from multiple drawables from a script with:

This can be done in Python 3 as (with num_drawables removed and C arrayreplaced by a Python list):

Not only do these binding now have access to the full GIMPAPI, but theyalso have access to many more introspected APIs used as dependencies toGIMP. For instance a plug-in can have access to the full GLib/GIO, GTK,Pango, Cairo APIs as well as the babl and GEGLAPI (for easier pixelmanipulation and access to a massive range of existing operations). Thiswas one of the main limitation of the former Python 2 binding, whichcould not manipulate pixels with GEGL.

Status: some people are regretting the facilities provided by theformer Python 2 binding, such as automatic dialog creation. Thisis worked on right now (some embryo of dialog generation has evenalready landed in the development branch after 2.99.2 release) henceshould be available for the next development release. The best part isthat such API will be done on the main API, thus available to allbindings, not just Python or Scheme.This is one of the biggest advantages of introspected API compared tomanually maintained bindings: rather than reimplementing nice featuresin every available binding, we will provide them in the main API so thatevery developer can enjoy them, whatever your preferred language.

Finally Script-fu is not one of the introspected bindings (though thereis supposedly GObject Introspecting scheme bindings, but we haven'ttested any yet) and still mostly works as its own extension. Yet issuesregarding some of the API changes have been raised (for instance theinability to create GFile as discussed earlier) and will have to befixed before finale stable release.

Goat exercises¶

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 ita 'GIMP Hello World!'.

Each Goat Exercise does exactly the same thing in its own language: itcreates a dialog with a label, buttons and a text view (GTK+ andGLib/GIO demo); one of the buttons triggers a filter modifying theactive layer (GEGL demo and GIMPAPI demo); all this while showing itsown source code inside the text view (making it easy to inspect the codefrom within GIMP) and with a button sending you to the repository file(if you prefer to check out the last version, comfortably in your code editor).

These plug-ins are quite important as we are planning to improve theplug-in ecosystem with GIMP 3. They are the first step of'self-documenting demo plug-ins' (while doing something a bit moreexciting that a bare 'Hello World').

Status: current code of the Goat Exercise is not always up-to-datewith the most recent API yet as it is a moving target. These will beupdated before release.

Developer documentation¶

We have started to write down some documentation regarding plug-indevelopment in GIMP 3, and will progressively start to publish sometutorials. Hopefully we will even be able to relaunch our developerwebsite that has been slowly decaying for too many years. We hope thatGIMP 3 will revitalize the GIMP plug-in ecosystem!

Status: still at an early stage, we welcome more contributors to makeit possible.

Extensions¶

Extensions are a new file format that is simply a wrapper of data(brushes, splash screens, patterns, dynamics…) or plug-ins, associatedwith metadata (name, description, screenshots, version, requirements…).The goal will be to allow plug-in developers to publish their work onrepositories for anyone to search third-party plug-ins,install/uninstall, enable/disable and update them, all within GIMP.

The menu Edit > Manage Extensions shows the base dialog. In the'System Extensions' tab in particular, you will notice an 'Official DemoPlug-ins' which is our first extension. It in fact bundles all the GoatExercises plug-ins we talked about earlier. If you switch if off, youwill notice after a restart (right now you have to restart GIMP to seethe effect) that the menu category Filters > Development > GoatExercises disappeared.

We'll get back to talking about this feature after we've done more workon it. In particular, we will provide documentation on how to createextensions. It is definitely something plug-in and resource creatorsshould look forward to, as it will help share their creations with others.

Status: still more work to do on the GIMP side, especially forcommunicating with repositories, and much more work to be done for theofficial repository and the website for extensions.

Space invasion¶

'Space invasion' is the internal code name for the work originallystarted in 2018whose goal was proper support of color space during core pixelprocessing. In the GIMP Wedding dash 4 pc. 2.10 series, despite core color managementsupport, the profiles were sometimes lost during an operation processingand only reintroduced on finale results, which may result in wrongvalues in some cases.

Anyone interested to understand further the problematics can readØyvind Kolås's post and inparticular the detailed associated release notes for GEGL0.4.6 where heexplains this really well.

Some of the improvements of this work have already been progressivelybackported to various GIMP 2.10.x releases, but GIMP 3.0 should be theculminating release where we hope to get this 100% right.

Status: the development branch is much more advanced on this topicthan the 2.10 series, but some more work needs to be done. Variousaspects of GIMP still mostly expect or display sRGB-only values.

Render caching¶

GIMP 3 now has a render cache that keeps the result of scaling, colormanagement, display filters and shell mask (for tools like Fuzzy Select).This results in much snappier user experience in comparison to the GTK2version of GIMP.

There is now also a Zoom Quality setting in Preferences -> Display.When set to Fast, GIMP will do a nearest neighbor interpolation fromthe next bigger mipmap level instead of linear or box filtering. Thisgives a slight and permanent boost to painting and all updates. We havea few ideas to improve this further like reblitting in high qualityafter a timeout.

Status: done.

Improved import policies¶

Color Profile Policy now exposes a new choice 'Convert to PreferredProfile' and the import dialog default 'Convert' action will convertthe image to the preferred profile (if any was set, otherwise it fallsback to the built-in profile). Converting to the built-in profile willstill be available as a secondary action. If you want to always work witha given profile, you can set up your preferred workflow as soon as importingis done.

Moreover, a new Metadata Rotation Policy is exposed in the Preferencesdialog, next to the Color Profile Policy (in page Preferences >Image Import & Export) with 3 options: 'Ask what to do', 'Discard metadatawithout rotating', and 'Rotate the image then discard metadata'.

The metadata rotation policy used to be handled on the API side, witha dialog generated by libgimpui and saved in a global parasite.The whole logics and GUI has been moved as core logics, similar to the'Color Profile Policy'. This implies that plug-ins don't even need tohandle this as it will happen as specified by the user automaticallyon every new import.

Status: done.

Compact sliders¶

The compact spin scale was introduced in GIMP2.10.18. In the 2.10 series, it was left as an optional feature which couldbe deactivated in the Preferences dialog. In GIMP 3, this is now theonly possible behavior, with no options.

Please note that the bright blue color on the screenshot is not ourpreference, it's what the system theme dictates. This widget actuallyuses GtkProgressBar colors by default. Therefore this can be adjustedin a custom theme by changing GtkProgressBar colors or only the colorsin this specific widget (again, we welcome theme contributors!).

Status: done.

Refactoring¶

While porting old features and implementing new ones, a lot of side workhas been done on the code structure. Many parts of the code base gotrefactored for better maintenance.

Even when some port is not done yet, ground work may have been prepared,such as the GimpAction interface to add a layer of abstraction toGtkAction (preparing us to actually move away from it at a laterpoint which is one of the main remaining big ports for the move to GTK3).

Many other parts are constantly remodeled and improved as part ofa never-ending background work.

Status: refactoring is always work in the progress, always was, alwayswill be. It never really stops.

Packaging¶

Beta Flatpak available¶

This release is available in the 'beta' branch of our official Flathubpackage, which is ahidden release branch (you won't find this information on the publicweb page). This command will allow you to install GIMP 2.99.2:

From now on, you will be able to update to new development builds assoon as they are available through this channel (if your desktop hasFlatpak integration, it might even check and propose you the updates automatically).

Note that Flatpak only allows one visible branch of a same applicationat once. So if you installed both the stable and development releaseswith Flatpak, your desktop in particular will only show either one orthe other. To switch the visible branch, run the relevant command amongthe 2 proposed below: Reader for pc software download.

Some people also created shortcuts running the explicit command flatpakrun org.gimp.GIMP//beta (respectively stable) as workaround to geticons for both versions.

Windows¶

As usual, we provide a Windows installer for GIMP, you will find it on theDevelopment Downloads page.

Some features may be missing. In particular, you won't find theJavaScript binding on the Windows build because of the complexity ofsome dependencies. We will fix this in future releases leading upto GIMP 3.

macOS¶

Our macOS packager has still not fully returned, so unfortunately thereis no official macOS package. As always, we remind that GIMP is free/libresoftware developed by community. Any of you can become an official package maintainer (and having several contributors would keep everyone safe). Macintosh keyboard and mouse.

If you are interested, we suggest to get in touch with us on ourIRC channel for developers, #gimp.

What's next¶

As you can see, a lot has been done (the NEWSfile will also give a bit more details). The vast majority of the workhas already been done. What remains now is the final stroll. This ishowever not such an idle walk in the park, as the final decisions andattention to details is always the most difficult part. We want torelease a rock-solid GIMP v3 and need to pay a lot of attention todetails. This is where we are now and why we are releasing this firstdevelopment version.

This development report lists pretty accurately all the remaining steps, and you'll notice how itactually follows quite well the changes in GIMP 2.99.2. The API part,though going unnoticed to many users, is probably the major part whichwe must absolutely get right before the release since our API is meantto stay stable withing the 3.x series. Once we have it done, we will wantto keep existing interfaces of libgimp 3.0.0 functions unchanged unless absolutely necessary (i.e. unless we discover bugs that made a functionuseless). This is likely to take a lot of our time.

There are definitely other parts where help will be crucial, whether it'splug-ins, core code, user interface, or application interface. So we doneed more eyes on this to resolve as many little issues as we can.

Release The Gimp

To conclude, we remind that you can donate to the project andpersonally fund several GIMPdevelopers who make this all possibleat all. This is also a way to give back and accelerate the developmentof GIMP if you appreciate the project.





broken image