Development Update: Closing In on the 3.0 Release Candidate – GIMP

Development Update: Closing In on the 3.0 Release Candidate – GIMP

Exciting Advancements Pave the Way for GIMP 3.0’s Arrival

As an experienced IT professional, I’m thrilled to share the latest developments surrounding the highly anticipated release of GIMP 3.0. This open-source image editing powerhouse has long been a go-to tool for creative professionals and hobbyists alike, and the upcoming 3.0 version promises to deliver a slew of game-changing improvements.

In this comprehensive article, we’ll dive deep into the progress made by the GIMP development team, highlighting the key features and enhancements that are shaping the future of this beloved software. From finalizing the API and streamlining the export process to tackling the color space invasion and improving non-destructive editing, GIMP 3.0 is set to redefine the landscape of image manipulation.

Finalizing the API: Ensuring Seamless Compatibility

One of the crucial tasks for the GIMP 3.0 release is finalizing the public API (Application Programming Interface). As the team has added new features and enhanced existing ones during the development process, they’ve had to make some “breaking” changes to the API. This means that if a third-party developer had ported their GIMP 2.10 plug-in or script to use the GIMP 2.99.16 API, it might not work with the 2.99.18 API due to further changes.

However, once GIMP 3.0 is released, any function that’s in the public API must continue to work for all future releases of GIMP 3. This meticulous attention to API stability is essential to ensure that existing plug-ins and scripts continue to function seamlessly, providing a smooth transition for developers and users alike.

To illustrate the ongoing API work, the GIMP team has shared a few key updates:

  • Internal Plug-in Porting: The team has been porting their internal plug-ins to the new GimpProcedure and GimpProcedureDialog API. This update automatically saves the last settings used, allowing users to reset to it or the “factory default” values as needed. The GimpProcedureDialog API also enables developers to automatically create a GUI based on the settings they’ve defined.

  • Python Plug-in Support: Until recently, the full GimpProcedureDialog API was only available to C plug-ins, leaving other plug-in languages like Python with limited options for generating certain widgets, such as dropdown boxes and radio buttons. However, the team has now made the full API available to all supported plug-in languages, empowering Python plug-in developers to take advantage of the automated GUI creation features.

  • Script-fu Improvements: Lloyd Konneker has been spearheading the organization and implementation of numerous improvements to the GIMP Script-fu code library. This includes the deprecation of script-fu-register and the introduction of two new functions: script-fu-register-procedure for general scripts and script-fu-register-filter for image-processing scripts. These new script functions also leverage the GimpProcedureDialog API, granting script developers the same automated GUI creation capabilities as their plug-in counterparts.

By meticulously stabilizing the API, the GIMP team is ensuring that the 3.0 release will provide a solid foundation for both existing and future plug-in and script developers, enabling seamless integration and compatibility across the GIMP ecosystem.

Streamlining the Export Process

Another area of focus for the GIMP 3.0 development has been improving the export process. A long-standing feature request has been the ability to export images with different settings while leaving the original image unchanged. This would, for instance, allow users to export an image in several different sizes without modifying the original.

The introduction of the GimpExportOptions class lays the groundwork for implementing this functionality in future 3.x releases. The GIMP team has simplified the export process using the plug-in API, moving much of the export settings code to the GimpExportOptions parameter. This change will enable the addition of new types of export settings and features after GIMP 3.0 is released, without requiring plug-in developers to make changes to their own code.

As a beneficial side effect, this work has also resolved some existing inconsistencies between exporting an image from GIMP’s graphical user interface (GUI) and exporting from a script. Users can now expect a more seamless and consistent export experience, regardless of their preferred method.

Tackling the Color Space Invasion

A critical area of focus for the GIMP 3.0 release is the “color space invasion” project. The team’s goal is to ensure that color space and color profile information are associated with the pixels in all aspects of GIMP, from the canvas to the GUI and everywhere in between. This is a crucial step in helping artists maintain color consistency across the various devices and monitors they use.

The first half of this work was completed in the 2.99.18 release by contributor Jehan. Since then, the team has been fixing the inevitable bugs from such a large-scale change while making the rest of GIMP color-space aware. This overlaps with the API changes, as several of GIMP’s code functions still assumed the colors were in the sRGB color space.

In addition to this, the team has been reviewing the existing color algorithms to ensure they are accurate and performing efficiently. Øyvind Kolås and Elle Stone have provided valuable insights and assistance throughout this process, helping to ensure that the color management capabilities in GIMP 3.0 are truly robust and reliable.

The team’s dedication to this “color space invasion” project is a testament to their commitment to delivering a superior color management experience for GIMP users. By integrating color profile information deeply into the software, they are paving the way for more accurate and consistent color representation across various platforms and devices.

Enhancing Non-Destructive Editing

Another notable area of improvement in GIMP 3.0 is the introduction of non-destructive filters. This feature, first implemented in the 2.99.18 release, has received a lot of positive feedback and bug reports from early adopters. Based on these reports, the GIMP team has fixed numerous issues related to copying, pasting, and updating filters, as well as improving the overall stability of the effects code.

One of the recent enhancements is the implementation of non-destructive filters on layer groups. Now, users can add an adjustment filter like Brightness-Contrast (or any other layer effect) to a group, and it will affect the display of each layer within that group. This powerful feature allows for more flexible and non-destructive experimentation with image adjustments, empowering users to make changes without permanently altering the underlying layers.

Additionally, the temporary filter icon has been replaced by a more intuitive design from new contributor Denis Rangelov, created using the vector art program Inkscape – another FLOSS (Free/Libre and Open Source Software) project that the GIMP team highly recommends.

The continued refinement of non-destructive editing in GIMP 3.0 showcases the team’s commitment to providing users with a more versatile and streamlined image manipulation experience. By incorporating these advancements, GIMP is positioning itself as a formidable alternative to commercial offerings, catering to the needs of both professional and hobbyist creators.

Ongoing Improvements and Collaborations

The GIMP 3.0 development journey encompasses a wide range of other enhancements and collaborations. Here are a few additional highlights:

  • ctx Project: Øyvind has been working diligently on the ctx project, which focuses on 2D vector rendering and serialization. While not yet heavily utilized within GIMP itself, this project may pave the way for future work on incorporating more vector-based capabilities into the software.

  • Build Process Enhancements: Bruno Lopes has been improving the build processes on all platforms, reducing redundancies and inefficiencies in the development pipeline, Windows installers, and Flatpak distributions. He is also preparing a new version of the Microsoft Store installer and experimenting with an AppImage version of GIMP.

  • Darktable Collaboration: The GIMP team has collaborated with the Darktable developers to create a GIMP-specific API, ensuring a more stable connection between GIMP and this FLOSS raw photo processing software. This collaboration helps to restore the functionality of the GIMP plug-in that allows sending and retrieving images with Darktable.

  • Help Manual Updates: Jacob Boerema has taken the lead on updating the GIMP help manual, including refreshing screenshots and text, as well as adding new sections. This is an area where community members can contribute without needing to write code, by reviewing the upcoming documentation and reporting any issues or missing information.

  • GSoC Contributions: The GIMP team was fortunate to work with three student contributors through the Google Summer of Code (GSoC) program this year. Their projects included improving the text tool, initial research and design for porting the GtkTreeView GUI to GTK4, and enhancing the OpenCL code in GEGL (the Graph Editor Library) to improve the performance of filters and other aspects of GIMP.

  • UI/UX Improvements: Recognizing the importance of user experience, the GIMP team has set up a separate UX repository to report and discuss design-related issues. They are actively seeking a team of designers to collaborate on creating improvements that respect existing user workflows while enhancing the overall GIMP experience. Some design enhancements have already been implemented for the 3.0 release, and the team looks forward to further collaboration with the community.

These diverse initiatives, collaborations, and community contributions demonstrate the GIMP team’s dedication to continually improving the software and addressing the needs of its diverse user base.

Get Involved and Test the Latest Developments

If you’re eager to try out the latest developments in GIMP 3.0, you can download the 2.99.18 release from the development downloads page. While it doesn’t include all the improvements made since its release, it still provides a good preview of what the 3.0 version will offer.

Furthermore, the GIMP team encourages the community to get involved in the project’s progress. If you’re a developer, you can contribute by porting your existing 2.10 plug-ins and scripts to the new APIs. If you’re a designer, you can join the UI/UX efforts and help shape the future of GIMP’s visual interface. And if you’re a user, you can provide valuable feedback and bug reports to help the team refine the software.

Remember, the GIMP project relies on the commitment and support of its community. You can donate to personally fund the developers and accelerate the development of this powerful open-source image editing tool. Every contribution, big or small, helps to strengthen the GIMP ecosystem and ensure its continued growth and success.

As an experienced IT professional, I’m thrilled to witness the advancements unfolding in the GIMP 3.0 release. The dedication and innovation of the development team, combined with the active participation of the community, are paving the way for a truly remarkable release that will redefine the landscape of open-source image manipulation. Stay tuned for more exciting updates as GIMP 3.0 moves closer to its highly anticipated debut.

Facebook
Pinterest
Twitter
LinkedIn

Newsletter

Signup our newsletter to get update information, news, insight or promotions.

Latest Post