Commit graph

56989 commits

Author SHA1 Message Date
Jehan
6c0f4e617a README: update, preparing for the 3.2 release. 2026-03-03 16:56:49 +01:00
Jehan
8407793320 plug-ins: fix newline format with dos2unix. 2026-03-03 10:57:05 +01:00
Jehan
9ae9976732 plug-ins: let's have the same label for import and export.
While listing the file formats, I could not find the format, because it
was labelled differently.
This doesn't break the strings since the longer string already existed.
2026-03-03 10:51:20 +01:00
Jehan
6bd949b0d5 gimp-data: bump to stay at HEAD. 2026-03-03 10:51:20 +01:00
Jehan
c0da31dbf0 desktop: add GIMP 3.2.0 metadata.
It's mostly copy-pasting of dev versions' metadata, with reordering per
category.
I didn't copy features which were backported in the 3.0 series since, or
still in playground, some of the less visible features, what looks a bit
more like fixes than features, regrouped some points when relevant, etc.
2026-03-03 10:51:20 +01:00
Sveinn í Felli
283ac213ea Update Icelandic translation 2026-03-03 08:58:43 +00:00
Sveinn í Felli
ffb56a1e24 Update Icelandic translation 2026-03-03 08:49:19 +00:00
Marco Ciampa
aadaa88039 Small fix in Italian translation 2026-03-03 09:48:55 +01:00
Sveinn í Felli
2d04d5b20c Update Icelandic translation 2026-03-03 08:43:55 +00:00
Sveinn í Felli
7364935289 Update Icelandic translation 2026-03-03 08:38:32 +00:00
Marco Ciampa
d05a1972d9 Updated Italian translation 2026-03-03 09:06:42 +01:00
Bruno Lopes
605470cc05 tools: Add dumpbin support to defcheck.py
This is needed for MSVC environment.
2026-03-02 22:21:29 -03:00
Bruno Lopes
a5ec792c6a Partially revert "build/windows: Update MSVC patches for gegl"
See GNOME/gegl@7c5a1e27

This partially reverts 5a4ed76c
2026-03-02 22:16:23 -03:00
Bruno Lopes
481643d3f6 Revert "build: update Use vs_module_defs for MSVC patch..."
See: GNOME/gegl@1aaeb4c7 and GNOME/gegl@54f519e7

This reverts commit b282074da8
and 44ee4ecdbf.
2026-03-02 20:57:19 -03:00
Jehan
6283ec669d app: verify all playground features to forcibly show the playground tab.
Maybe I should find a more "automatic" logic…
2026-03-02 22:25:07 +01:00
Jehan
1efdc2c0d6 build: make a nightly Snap again. 2026-03-02 21:33:33 +01:00
Jehan
366f55a42e Post-release version bump to 3.2.0-RC3+git. 2026-03-02 21:29:55 +01:00
Bruno Lopes
59f2fa45ca tools: Make defcheck.py CWD unambiguous
This is better for debugging when some error happens.
2026-03-02 16:50:41 -03:00
Baurzhan Muftakhidinov
c052c94234 Update Kazakh translation
(cherry picked from commit 57d67deb601663972a02ce88ea292cb749d4bb9e)
2026-03-02 17:33:16 +00:00
Baurzhan Muftakhidinov
fdfc6b9a2c Add Kazakh translation 2026-03-02 17:18:42 +00:00
Jehan
c4dd447133 Release GIMP 3.2.0 RC3. 2026-03-02 17:43:05 +01:00
Jehan
5611e356a0 build: SnapCraft ready for release. 2026-03-02 17:41:38 +01:00
Jehan
7b3052dcdd app: fix a crash in GIMP when calling gimp:curves with GIMP_HISTOGRAM_LUMINANCE…
… from a plug-in.

The value is accepted by the current specification of "channel" but it
is actually not supported and would end up crashing the core process.

The real fix which should happen would be to make GimpParamSpecEnum
usable in libgimp, and be able to pass its spec through the PDB. Then we
could use this param spec instead of GParamSpecEnum for such property
not supporting all values in an enum.

Note that with the current fix, the "gimp:curves" filter will silently
refuse the Luminance channel when passed as "channel". It is not ideal.
But it's better than crashing the whole of GIMP!
2026-03-02 16:58:11 +01:00
Martin
696b756f7d Update Slovenian translation 2026-03-02 13:29:31 +00:00
Jehan
64eafc5cb3 app: do not build GEGL documentation.
We don't make use of it anywhere in our pipeline or release processes,
and it's making problems right now.
2026-03-02 12:39:13 +01:00
Kristjan ESPERANTO
0eae4b1246 Update Esperanto translation 2026-03-02 06:57:59 +00:00
Kristjan ESPERANTO
f327d8c5c6 Update Esperanto translation 2026-03-02 06:52:25 +00:00
luming zh
219d2f0754 Update Chinese (China) translation 2026-03-02 01:31:52 +00:00
Jehan
2ff8726d45 desktop: set RC3 release date. 2026-03-02 00:15:31 +01:00
Jehan
a9202db2cc build: set grade: stable per release checklist instructions. 2026-03-01 23:54:14 +01:00
Jehan
6cda052bf2 desktop: updated AppStream metadata. 2026-03-01 23:50:21 +01:00
Jehan
e9e2bb1b2e app: GimpEditor buttons will have the associated action name as identifier. 2026-03-01 23:48:57 +01:00
Jehan
6df7efaa3d libgimpbase: variables must be defined at start of scope.
Fixing:

> libgimpbase/gimpenv.c:364:7: warning: ISO C90 forbids mixed declarations and code [-Wdeclaration-after-statement]
2026-03-01 23:07:30 +01:00
Jehan
0fa907fb22 NEWS: update. 2026-03-01 22:33:58 +01:00
Jehan
51ac9d7f2a Issue #15681: deprecate gimp_drawable_curves_explicit() and…
… gimp_drawable_curves_spline().

We can now run directly "gimp:curves" operation, both destructively or
non-destructively, but also setting the TRC, as well as individual point
types (when the curve is of type "smooth" instead of freehand).
This is much more powerful!
2026-03-01 22:33:58 +01:00
Jehan
b87bab9e8c app, libgimp*: add GimpCurve sample API in libgimp and PDB. 2026-03-01 22:33:58 +01:00
Bruno Lopes
d6f5205a89 tools: Port improved defcheck.py from gegl 2026-03-01 18:30:54 -03:00
Anders Jonsson
fedaa92185 Update Swedish translation 2026-03-01 21:13:55 +00:00
Jehan
9a2193bb93 libgimp: adding API docs and clean up a bit the GimpCurve API.
In particular, I am getting rid of several of the properties, which are
really not that good (and even bogus for some, such as "n-points").
Properties tied together like this (number of elements stored in one
prop applying to the array stored in another prop) are often a bad idea
and only end up in messy code ending up in inconsistencies.

Instead let's use signals. I am keeping the "n-samples" for now as it
can clearly be considered more "stable" than "n-points" and not meant to
change.

We'll also have to make a decision on whether we really want to keep the
samples API in libgimp, or drop all current sample functions. Right now
we cannot actually create meaningful sample points.
2026-03-01 16:47:06 +01:00
Bruno Lopes
6e8928e823 gitlab-ci, build: Fail on warnings on Clang builds making them more useful
Thanks to various improvements on babl and GEGL repos they now build cleanly.
So, let's take advantage of Clang senstive semantic analysis on future builds.

For now, this is limited to such projects and on GNU Clang and Apple Clang,
since there is still a bit of work to do on Clang-CL (MSVC) side.
2026-03-01 11:16:22 -03:00
Bruno Lopes
24f8f6f68b app: Do not unconditionally force Playground on macOS
Very weird line of code.
2026-03-01 11:15:06 -03:00
Bruno Lopes
fcba50ffcd meson: Fix meson 1.10 warning about add_languages 2026-03-01 11:02:12 -03:00
Alx Sa
804991a215 libgimp, pdb: Allow access to GimpCurve in PDB
Adds a GimpCurve object and functions in libgimp.
Rather than creating a GimpCurve object in core and
passing it back and forth, we just pass the attributes
and reconstruct it across.
In the future, we may combine this with the app/core one
and put it in libgimpbase.
2026-03-01 13:41:35 +00:00
Shigeto YOSHIDA
66efbd003c Update Japanese translation 2026-03-01 09:32:37 +00:00
Shigeto YOSHIDA
261f7ea93a Update Japanese translation 2026-03-01 09:31:37 +00:00
Shigeto YOSHIDA
8fe95ab19f Add Japanese translation 2026-03-01 09:31:08 +00:00
Marco Ciampa
f0de69a5a7 Small typo in Italian translation 2026-03-01 00:50:33 +01:00
Jehan
3a53e4743e app: copy the buffer rather than using it as source.
I think the previous code should be OK, but I had some criticals when
painting with a paint tool in the area which got extended:

> (gimp:577203): GLib-GObject-CRITICAL **: 21:37:08.402: value "-31" of type 'gint' is invalid or out of range for property 'y' of type 'gint'

It looks like there lingering pieces from the negative offset in the
buffer, which is probably a bug in GEGL?
Anyway let's go the shorter route for now, which is to copy the buffer
with a different offset. I don't think it's less efficient either
anyway.
2026-02-28 21:52:10 +01:00
Jehan
4c15be6a56 app: fix merging filters with negative top-left point.
When merging filters whose rendering was expanding in negative
ccordinates, I realized that the drawable was not properly resized (it
was resized properly when the width/height increased, but not when the x
or y points became negative, even though this "cropped" part still
showed… until you saved and reloaded your XCF!).

The problem is that drawable buffers are always stored with (0, 0)
top-left and this was just confusing our existing code. So let's check
when trying to set a buffer with a non-(0, 0) origin, and update the
offset subsequently.

I hesitated with an alternative implementation which was to edit the
buffer applied to the drawable in gimp_drawable_merge_filters(). But I
figured this would be more future-proof for other similar cases, though
I hope I did not break any use case where this was actually considered a
normal case.
2026-02-28 21:04:05 +01:00
Marco Ciampa
018eafc146 Small typo in Italian translation 2026-02-28 17:43:32 +01:00