[Developer Corner] G'MIC 4.0 Released... And Then ?

Hello everyone,

So yesterday I released version 4.0.0 of G’MIC, and this morning, version 4.0.1, which fixes a regression in the G’MIC-Qt plugin related to saving Favorite filters.

This 4.0 release marks a major milestone in the project’s history, especially in terms of the number of changes since the last stable release: Over the past two weeks, there have been 280 commits to the CImg and G’MIC repositories, representing more than 15k lines of code that have been modified, added, or removed. That’s a massive amount, especially since all these commits were made by a single person (me, in this case! :sweat_smile: ).

I wanted this 4.0 release to mark a significant milestone in terms of code quality and robustness.
Since the entire G’MIC project consists of more than 300k lines of code, and I am now the only developer working on its development and maintenance, the codebase is starting to get a bit too large for one person to handle.

So, I’ll say it without shame: For this 4.0 release, I used several LLMs to assist me with code reviews (Claude, ChatGPT, Gemini, Mistral AI) and help make the code more robust and efficient. On a project of this size, with just a single developer, the help from those LLMs was more than welcome!
(after all, these LLMs were shamelessly trained on millions of lines of open-source code, so it’s only natural that they, in turn, could be used to improve that same software!).

Of course, I didn’t let the LLMs do all the coding for me: I just read their suggestions and decided for myself what to do with each one. And there were hundreds.
Sometimes the suggestions were silly, and sometimes they were brilliant. So, It was nice to be there to sort through it all. But it took an enormous amount of time: I’m talking about 10–14 hours of work per day reviewing and modifying code for the past week.

This was quite intense. I’m honestly exhausted by this process, and at the same time amazed by what it has allowed me to accomplish in such a short time. As I mentioned earlier, the number of changes is huge, and they have definitely improved the quality of the code.
The funny thing is: a user of the G’MIC-Qt plugin won’t necessarily notice it (it works just “like before”), but in terms of code quality, security, and optimization, believe me, this is a huge step forward for G’MIC.

And throughout all of this, I’ve learned a tremendous amount of new stuffs about C++ development.

Okay, so now we have a more robust, better-written G’MIC 4.0 with a few new filters…
What’s the plan now?

I have to say that after 18 years of development, G’MIC has reached a level of maturity that suits me: the language is stable and a pleasure to use (at least from my perspective). It allows you to do a wide variety of things. The various user interfaces are functional.
What’s left to do? That’s a very good question, and one to which I don’t have an answer.

So yes, of course, we can always imagine adding more and more new filters, new commands, or do some minor tweaks to improve the current interfaces. But those are minor details, and they don’t even necessarily require new releases of G’MIC.
In fact, I don’t really plan on stopping adding new image processing operators or new filters.

So my goal is clearly to slow down the pace of G’MIC releases in the coming months/years.
And right now, above all, I need to get some rest. I’m going on a week-long vacation to Brittany, and I plan to make the most of it.

With this post, I also wanted to thank all of G’MIC’s and pixls.us contributors, many of whom are active on this forum. Without you, it would never have been possible for the software to reach this level of maturity. I don’t dare mention any names in particular, because I’m too afraid of leaving someone out, but you know who you are :heart_eyes:

Cheers,

David.

7 Likes

Your effort’s, and of course, your team’s efforts, have been more than beyond awesome. I can still say, GIMP with G’MIC makes the synergy enhanced system, superior in many respects to Photoshop (but have to add, I stopped using PS altogether a decade ago so just based on my own experience, but I suspect it’s still true). Glad you continue to support the older GIMP as well since I’ve not gone to 3.X yet (and at my age, it might be much longer before I do; lol). As for the bot tools, so long as you are still the director, that makes it better. Glad such tools exist. Haven’t really toyed with bots except to generate renders when I’m lazy and I’ve been quite lazy over the past 2 years. lol

:slight_smile:

1 Like

Thanks David! :clap:

He says he will slow down…

I find LLM assisted coding is a time sink because I am not just fighting with my own finitude but also the LLM’s. The exhaustion though is out of this world than going about it alone.

1 Like

Thanks David, spectacular work! And the way you use LLMs is the proper way - they help accelerate a human developer’s work, and proper oversight is essential. My experience with Claude has been a game changer.