File: NEWS

package info (click to toggle)
gimp 3.2.0-1
  • links: PTS, VCS
  • area: main
  • in suites: sid
  • size: 222,880 kB
  • sloc: ansic: 870,914; python: 10,965; lisp: 10,857; cpp: 7,355; perl: 4,536; sh: 1,753; xml: 972; yacc: 609; lex: 348; javascript: 150; makefile: 42
file content (1128 lines) | stat: -rw-r--r-- 49,997 bytes parent folder | download
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
566
567
568
569
570
571
572
573
574
575
576
577
578
579
580
581
582
583
584
585
586
587
588
589
590
591
592
593
594
595
596
597
598
599
600
601
602
603
604
605
606
607
608
609
610
611
612
613
614
615
616
617
618
619
620
621
622
623
624
625
626
627
628
629
630
631
632
633
634
635
636
637
638
639
640
641
642
643
644
645
646
647
648
649
650
651
652
653
654
655
656
657
658
659
660
661
662
663
664
665
666
667
668
669
670
671
672
673
674
675
676
677
678
679
680
681
682
683
684
685
686
687
688
689
690
691
692
693
694
695
696
697
698
699
700
701
702
703
704
705
706
707
708
709
710
711
712
713
714
715
716
717
718
719
720
721
722
723
724
725
726
727
728
729
730
731
732
733
734
735
736
737
738
739
740
741
742
743
744
745
746
747
748
749
750
751
752
753
754
755
756
757
758
759
760
761
762
763
764
765
766
767
768
769
770
771
772
773
774
775
776
777
778
779
780
781
782
783
784
785
786
787
788
789
790
791
792
793
794
795
796
797
798
799
800
801
802
803
804
805
806
807
808
809
810
811
812
813
814
815
816
817
818
819
820
821
822
823
824
825
826
827
828
829
830
831
832
833
834
835
836
837
838
839
840
841
842
843
844
845
846
847
848
849
850
851
852
853
854
855
856
857
858
859
860
861
862
863
864
865
866
867
868
869
870
871
872
873
874
875
876
877
878
879
880
881
882
883
884
885
886
887
888
889
890
891
892
893
894
895
896
897
898
899
900
901
902
903
904
905
906
907
908
909
910
911
912
913
914
915
916
917
918
919
920
921
922
923
924
925
926
927
928
929
930
931
932
933
934
935
936
937
938
939
940
941
942
943
944
945
946
947
948
949
950
951
952
953
954
955
956
957
958
959
960
961
962
963
964
965
966
967
968
969
970
971
972
973
974
975
976
977
978
979
980
981
982
983
984
985
986
987
988
989
990
991
992
993
994
995
996
997
998
999
1000
1001
1002
1003
1004
1005
1006
1007
1008
1009
1010
1011
1012
1013
1014
1015
1016
1017
1018
1019
1020
1021
1022
1023
1024
1025
1026
1027
1028
1029
1030
1031
1032
1033
1034
1035
1036
1037
1038
1039
1040
1041
1042
1043
1044
1045
1046
1047
1048
1049
1050
1051
1052
1053
1054
1055
1056
1057
1058
1059
1060
1061
1062
1063
1064
1065
1066
1067
1068
1069
1070
1071
1072
1073
1074
1075
1076
1077
1078
1079
1080
1081
1082
1083
1084
1085
1086
1087
1088
1089
1090
1091
1092
1093
1094
1095
1096
1097
1098
1099
1100
1101
1102
1103
1104
1105
1106
1107
1108
1109
1110
1111
1112
1113
1114
1115
1116
1117
1118
1119
1120
1121
1122
1123
1124
1125
1126
1127
1128
                   ------------------------------
                   GNU Image Manipulation Program
                         Development Branch
                   ------------------------------

This is the development branch of GIMP.


Overview of Changes from GIMP 3.2.0 RC3 to GIMP 3.2.0
=====================================================

Core:

  - Operation "gimp:curves" set to Perceptual "trc" by default. The
    "linear" (unused, and only kept for compatibility) arg has been
    removed since the op could not have been used during 3.0 series.
  - Levels dialog now initializes to Perceptual (even though the
    "gimp:levels" op still defaults to Linear "trc", for
    backward-compatibility reasons).
  - Improve clipboard shutdown on Windows (speeds up shutdown).
  - Dragging a color or pattern on a vector layer in the Layers dock
    will set its fill instead of rasterizing it (a similar flow had been
    implemented in RC3, but it was working when dragging on canvas
    only).

Tools:

  - Text tool: make sure the on-canvas UI is always fully visible on
    canvas.
  - Selection tools: fix ordering of selection modes in tool options.

Graphical User Interface:

  - Further theme fixes (in particular in the Python console).
  - Individual per-project save buttons in the Quit dialog are now sized
    according to the theme.

Plug-Ins:

  - Screenshot: when "Include mouse pointer" is checked on Windows,
    it used to show a generic cursor rather than the actual currently
    used one. We now show the correct cursor.
  - Fixed ZDI-CAN-28813 vulnerability in ANI loading.
  - Fixed ZDI-CAN-28901 vulnerability in XPM loading.
  - Fixed ZDI-CAN-28807 vulnerability in PSD loading.
  - Fixed ZDI-CAN-28874 vulnerability in PSP loading.
  - Fixed ZDI-CAN-28405 vulnerability in IFF loading.
  - Fixed ZDI-CAN-28863 vulnerability in JPEG 2000 loading.
  - Filters Browser: now shows default value for enum and GimpChoice
    arguments of filters.
  - JPEG:
    * the color profile is now always stored in JPEG files exported as
      CMYK.
    * DCT options are shown again as a combo box (instead of a radio
      frame), just like they were during the 2.10 series.
    * fix loading of photoshop path split across multiple segments.
  - TIFF: only show the "Show reduced images" toggle when there are
    actually several images in the file.
  - PSD: various fixes on loading code.

API:

  - libgimp/PDB: gimp_image_convert_color_profile() allows a NULL
    profile, which will convert the image to a built-in profile, as was
    already documented (yet not properly implemented).
  - libgimpwidgets: GimpUnitComboBox better interacting with pointer
    events.

Translations:

  - New Kazakh translation of the Windows installer, as well as for
    Python and Script-Fu plug-ins, tags and tips.

Build:

  - The Snap package will now migrate from ~/snap/ if the 3.0 folder is
    not found in XDG config home, similarly to what we do for Flatpak.
  - Our in-house macOS builds now uses macOS 26 to generate Liquid Glass
    icons.
  - The RC2 splash image was chosen as final GIMP 3.2.0 splash.
  - DMG packages for macOS are now properly built as relocatable.
  - Building GIMP is now fully reproducible.
  - More work done on the in-house macOS pipeline (i.e. in our Gitlab
    instance, triggered by the main repository, not our more ancient
    external pipeline), especially regarding x86_64 DMG support (the
    Silicon builds are already working fine).


Overview of Changes from GIMP 3.2.0 RC2 to GIMP 3.2.0 RC3
=========================================================

Core:

  - In a Flatpak sandbox, GIMP will now show the native config directory
    path in relevant places.
  - XCF files can now only be loaded when all fonts have been loaded.
    Font loading happens as a background task and can continue even
    after the GUI is present and usable (for people with a lot of
    fonts). When they try to load image files in such a case now, the
    loading will be delayed (this also includes files loaded from
    command line, or from a file browser starting GIMP).
  - Default to 'quartz' IM on macOS for emoji keyboard support.
  - When dropping a color or pattern on canvas when a vector layer is
    selected, their "fill" property is updated accordingly.
  - Link layers are now protected against color and pattern drops.
  - macOS logo was updated to cater to new guidelines since macOS 26
    (following previous guidelines, the logo was appearing too small on
    latest macOS).
  - Not all color buttons should be fully image-contextual, in
    particular for indexed images. E.g. filter color buttons should
    usually not be limited to the palette's colors. Nor should the
    out-of-gamut or grid colors, etc.
  - When merging all filters on a drawable, the inactive filters are
    ignored (and therefore are kept as-is, instead of being removed).
  - Sample Points mode is carried over on duplicated images (not only
    their position).
  - Procreate swatches (.swatches) can now be imported as palettes.
  - Flipping link layers don't rasterize them anymore.
  - Code forbidding some operations from being used non-destructively is
    now a bit more robust.
  - Better support for filter's area updates.
  - In the Input Devices window, we now dropped the list of axis.
    Changing an axis use has not really worked for years, and this list
    was mostly confusing. Also it seems like it was not even shown
    anymore on some platforms in the 3.0 series.
    On the other hand, we now always show the Pressure Curve for any
    device of type "Pen". We don't try anymore to be clever and detect
    if the pen really has a pressure axis. As it turns out, such
    heuristic was quite fragile and not working in some cases.
  - Some work started on some file dialogs to use API more compatible
    with native file dialogs, hence preparing the field for this port in
    the next minor series.

Tools:

  - Flip tool: up/down and left/right keys can now be used to flip items
    respectively vertically or horizontally.
  - Crop tool: the tool now adds an alpha channel to a layer under the
    following conditions:
    1) "Selected layers only" is checked
    2) "Allow growing" is checked
    3) "Fill with" is set to transparency
    4) The crop rectangle is larger than the width or height of the layer
    5) The layer does not already have an alpha channel.
  - Shear tool: arrow keys support to adjust the shear: left/right move
    the shear on the X axis, up/down move the shear on the Y axis.
    By default, it moves one pixel at a time. If you hold shift (similar
    to the move tool), it moves based on the slider's page increment
    setting (factoring in the current zoom).

Operations:

  - "gimp:curves" and "gimp:levels" now properly default to Linear.
    Also the "linear" argument for both is now completely ignored in
    favor of "trc". This doesn't break API compatibility because these
    filters were broken enough that they were only run as linear until
    now. As for XCF backward compatibility, the full argument list was
    stored so existing XCF files will still load and render fine.
  - Equalize:
    * The filter now works again in non-linear space, just like it did
      in GIMP 2.10.
    * The "gimp:equalize" operation is now hidden from the API, because
      it is not usable anyway (lack of GimpHistogram support in
      libgimp/PDB) but also because the core implementation needs to be
      changed before being able to behave properly in non-destructive
      usage (the histogram would currently not re-compute itself with
      source changes).

Graphical User Interface:

  - Add conditional mask delete button on Layers dockable, shown when a
    layer mask is selected.
  - Reorder HLS to HSL in Hue Saturation GUI.
  - The Navigation and Selection dockables are now properly colored
    according to the theme (in particular, in dark mode, they won't show
    huge bright areas when no images are opened).
  - No outlines are shown anymore in the "Fx" column of item tree views.
  - The Welcome dialog is not shown on start anymore if GIMP was started
    by loading images.
  - Histogram Editor pixels and count are now displayed in GSize range.
  - New splash image for RC3.
  - Make styling consistent for the NDE popover.
  - Better wrapping and scrolling policy for the comment field of the
    export dialog, preventing issues when other program add extra-long
    comment to images.
  - New style defined for GimpPivotSelector, so that it can be styled
    through CSS.
  - Canvas Size options in Preferences dialog reordered to match the
    respective Canvas Size dialog.
  - Hide move handle in Text Editor window (this is only meant for the
    on-canvas text editor).
  - Do not trigger tree view search unnecessarily in various widgets
    where it is counter-productive.
  - We will not show uninstalled languages anymore in Preferences >
    Interface. This could happen when packagers are splitting language
    modules into separate packages, or when configuring a Windows
    installation not to install all languages.

Command Line Interface:

  - Man page improved to up-to-date usage.
  - CLI option --no-interface is now hidden on gimp-console usage.

Plug-Ins:

  - Fixed vulnerability ZDI-CAN-28232 in PSP import.
  - Fixed vulnerability ZDI-CAN-28599 in ICO import.
  - Fixed vulnerability ZDI-CAN-28265 in XWD import.
  - Fixed vulnerability ZDI-CAN-28530 in ICNS import.
  - WebP lossless export made more efficient.
  - JPEG2000 quality setting on export fixed.
  - XMC export updated not to modify the source image.
  - Curve Bend PDB procedure API is not bogus anymore.
  - Gradient Flare files now support also Windows line ending.
  - Background color restored in (script-fu-round-corners).
  - DDS:
    * Initial DDS BC7 export support.
    * Retains original import settings of a DDS texture (such as
      compression, number of mipmaps, and flags) through a parasite.
      On export, we default the compression format to the original to
      reduce the chance of choosing the wrong format for the game
      they're creating the texture for.
      The other data stored is not currently used.
  - Various Python plug-ins were improved to properly work in headless
    environments.
  - Image Map dialog improved so that it doesn't show too wide.
  - Script-Fu: libgimpui enum values are now also introspected, same as
    libgimp enum values are. E.g. GIMP_ASPECT_SQUARE is ASPECT-SQUARE in
    Script-Fu.
  - EXR: Import YUV OpenEXR chroma channels as RGB.

API:

  - libgimp/PDB:
    + The following functions were deprecated, now recommending to
      directly merge or append filters on drawables with the
      GimpDrawableFilter API:
      * gimp_drawable_brightness_contrast() in favor of filter
        "gimp:brightness-contrast".
      * gimp_drawable_color_balance() in favor of filter
        "gimp:color-balance".
      * gimp_drawable_colorize_hsl() in favor of filter
        "gimp:colorize".
      * gimp_drawable_extract_component() in favor of filter
        "gegl:component-extract".
      * gimp_drawable_desaturate() in favor of filter
        "gimp:desaturate".
      * gimp_drawable_hue_saturation() in favor of filter
        "gimp:hue-saturation".
      * gimp_drawable_invert() in favor of filters
        "gegl:invert-linear" and "gegl:invert-gamma".
      * gimp_drawable_levels() in favor of filter
        "gimp:levels".
      * gimp_drawable_shadows_highlights() in favor of filter
        "gegl:shadows-highlights".
      * gimp_drawable_posterize() in favor of filter
        "gimp:posterize".
      * gimp_drawable_threshold() in favor of filter
        "gimp:threshold".
      * gimp_drawable_curves_explicit() in favor of filter
        "gimp:curves".
      * gimp_drawable_curves_spline() in favor of filter
        "gimp:curves".
    + gimp_image_get_thumbnail() implementation updated to always return
      sRGB(A) 8-bit data.
    + New GimpCurve class and various API to create and configure a
      curve.
  - libgimpconfig:
    + GimpConfig objects can now be given a XCF version to force the
      serialization to use older formats. This is used for serializing
      some parasites in XCF and keep them compatible with older GIMP
      versions.
    + New functions:
      * gimp_config_get_xcf_version()
      * gimp_config_set_xcf_version()
  - libgimpwidgets:
    + GIMP_ICON_TEXTURE ("gimp-texture") is not used anymore and is
      planned for deletion in GIMP 4.
    + GimpColorScales and GimpColorSelect made introspectable.
    + gimp_widget_get_monitor() has now a Wayland implementation.

Translations:

  - New Cornish translation of GIMP.
  - Thai now has official support in InnoSetup (Windows installer's
    generic strings).

Build:

  - GIMP docs is now versioned on $DATADIR/doc/gimp-$APIVER (where
    APIVER=3.0 right now).
  - Drop Force32bitInstall option in Windows installer.
  - Work has been started to move the macOS CI to our main Gitlab infra.
    We now have macOS jobs in the CI, and these can be triggered in
    merge requests with "Package:Macos Dmg" label. More work is needed
    before it can become the source for our release packages though.
  - The Flatpak package will now contain gimp-console as well.
  - Add a configure test on macOS to ensure that harfbuzz was built with
    libgraphite2 shaper.
  - New -Ddmg boolean configure option to generate files needed for our
    macOS DMGs.
  - New -Dbash-completion configure option.
  - CI: it is now possible to trigger packages from MR by writing
    package labels in MR descriptions without having special access role
    on Gitlab.
  - Some older unit tests updated to run on real GIMP; other tests were
    disabled because they keep getting bugs (which are not in GIMP and
    are just wasting our time, because they directly hack through core
    GIMP code, yet without being a full-fledged GIMP process).
  - DMG package background now uses the splash image for more consistent
    and fancier designs at each minor or major release.
  - Updated scripts to generate both the DMG background and the Windows
    Installer side images from the splash image, using a metadata file,
    along with instructions towards artists so that they have the
    ability to choose the explicit crop positions and dimensions.
  - Third-party binary plug-ins are now supported in AppImage (if
    compiled against the same Debian binaries used for building the
    AppImage).
  - From GIMP 3.2, the Snap package will be able to migrate config
    folders from non-Snap older GIMP, and will store its own config
    outside the sandbox too, from now on.
  - Add limited global menu support for Flatpak. This requires setting
    GIMP_GTK_MENUBAR environment variable.


Overview of Changes from GIMP 3.2.0 RC1 to GIMP 3.2.0 RC2
=========================================================

Core:

  - Historical restriction preventing saving and exporting when no
    drawables are selected has been removed as moot. Our export API (and
    therefore export plug-ins) does not have such requirements anymore
    (and plug-ins are able to query the selected layers or channels if
    necessary).
  - SVG exporting now uses opaque path IDs for the 'id' attribute, and
    not the GUI-visible path name anymore, to match the SVG specs. The
    path ID has a limited character set and is not meant to be
    human-readable.
  - Clipboard brush and pattern max size limit bumped to 8192 on 64-bit
    (and stays 1024 on 32-bit architecture).
  - Path importing from SVG was updated to a copy of the latest C-based
    librsvg code, making it much more robust.
  - Proper textual warnings are added when trying to merge filters which
    cannot be merged.
  - Initial font loading was greatly sped up (not validating them
    through harfbuzz or freetype anymore, but checking the first bytes
    of every font file; a bit less robust but much faster).
  - A few safety checks were added when creating new link layers and
    when loading XCF files with link layers to prevent infinite loops
    with cycling links.

Tools:

  - MyPaint Brushes: stylus barrel rotation is now supported, when
    relevant to the specific brush selected.
  - Paint Select (Playground):
    * Processing only happens at button release.
    * More events are processed.
    * Do not process the graph when all events are inside selection when
      adding to selection, or outside selection when removing from
      selection.
    * Improved local region computation.
    * Add progression feedback (relies on a patch on libmaxflow, waiting
      for review).
    * Reset the scribbles at every stroke.
    * Use the same mode box widgets as other selection tools.

Graphical User Interface:

  - Define headerbar button colors to ensure they match our theme style.
  - Add more spacing between buttons in default CSS.
  - Keyboard shortcut dialog hint improved (broke string freeze).
  - New splash image.

Plug-Ins:

  - Vulnerabilities fixed: ZDI-CAN-28311, ZDI-CAN-28273, ZDI-CAN-28158.
  - PSD: legacy PSD Outer Glow layer style now imported (it uses
    gegl:dropshadow with certain preset values to replicate the
    Photoshop filter).
  - PS/EPS: default export unit is set to millimiter instead of inch.

API:

  - libgimpbase:
    * gimp_directory() will now return the correct path of the
      virtualized config directory on MSIX.

CLI:

  - Added a Bash completion file our our command line interfaces.
  - CLI option --show-debug-menu is not hidden anymore from the --help
    output. I don't see a good reason to hide this option, except for
    making it hardly discoverable. It is enough for the debug menu to be
    hidden from the GUI by default and good that CLI options show a way
    to bypass this for advanced users and contributors.

Build:

  - Package maintainership instructions were moved to the developer
    website.
  - Various fixes regarding versioning and RC status on several
    packages, to handle name clashes and inconsistencies.
  - Add the ability to localize strings at build time as a build
    requirement. Technically it implies for us that the build system is
    set to a locale other than C or POSIX, or that the en_US.UTF-8 is
    installed on the system. This was causing our list of language not
    to be properly self-localized in Preferences.
  - Current scheduled MSVC jobs will build GEGL without ctx until proper
    fixes are made to make it buildable for this platform.
  - Our C++ standard is now ISO C++ 14 (instead of GNU C++ 14) to make
    GIMP compile with clang-cl (wrapper to MSVC) on Windows.
  - Add support to MSVC's resource compiler: this allows us to support
    both rc.exe (MSVC) and windres.exe (GNU).
  - GIMP was made to be compilable on both GNU compilers and MSVC.
  - Automate verification of Windows signature certificate and MSIX
    secret.
  - Minimum requirement updates: babl 0.1.118 and GEGL 0.4.66.
  - AppImage is now using fully relocatable babl and GEGL.
  - AppImages and Windows official builds will now always ship the debug
    binaries for the hidden debug menu (which can be un-hidden with
    --show-debug-menu CLI option).


Overview of Changes from GIMP 3.1.4 to GIMP 3.2.0 RC1
=====================================================

Core:

  - macOS: "Quit" from the dock's right-click menu will now follow our
    standard Quit procedure, by intercepting the
    applicationShouldTerminate signal, instead of forcing the
    application to close (hence losing unsaved changes).
  - "Add Layer Mask" will now have an "Edit mask immediately" checkbox
    allowing to decide whether to go into Edit Mask state or not. This
    setting is saved across repetitive actions, as all other settings in
    this dialog.
  - Filters on pass-through group layers will no longer be limited to
    its children layers' bounding box, but to the actual bounding box,
    which includes all lower layers. This also implies that empty
    pass-through group layers can have an effect which will work like
    "adjustment layers" in other software. Masks bounding box on empty
    pass-through groups should also be the size of the group's render.
  - New actions "layers-rasterize" and "layers-revert-rasterize" to
    respectively rasterize and un-rasterize text, link or vector layers
    (rasterizing these layers is now always revertable, though any
    painting edit done after the rasterization is obviously lost).
  - Actions "layers-link-discard", "layers-vector-discard" and
    "layers-text-discard" have been removed. Only the latter existed in
    previous stable versions so any custom shortcut associated to
    "layers-text-discard" will be migrated as shortcut of
    "layers-rasterize".
  - When the GUI binary is run with --no-interface (-i) CLI option, we
    branch on the same codebase as gimp-console. Therefore even though
    this GUI binary still links with GTK, it won't run any GTK code and
    can therefore be run on headless servers.
  - Action "layers-vector-fill-stroke" removed (only available since
    3.1.4, not in any stable release).
  - Non-destructive filters on quick mask are merged (onto the selection
    channel) when exiting the quick mask mode.
  - Vector layers are now properly auto-renamed when changing their
    associated path (unless the layer was explicitely named).
  - It is not possible to "Merge Down" onto a pass-through layer group
    anymore.
  - "Merge Layer Groups" cannot be applied to pass-through groups
    anymore.
  - Multi-selection implemented in Document history in order to load or
    remove multiple images at once.
  - New "tools-swap" action (default shortcut: Shift-X) to activate the
    previously used tool.
  - When committing or canceling filters, GIMP will automatically swap
    back to the previously used tool.
  - Windows: standard output and error output are now properly
    redirected to the parent console in native shells, just like on
    Linux or macOS. As a consequence build option -Dwin32-debug-console
    has been removed. Ctrl-C is properly handled too, and output
    contains colors.
  - Paths attached to a vector layer cannot be deleted or merged anymore.
  - Text layer rendering has been made much more robust, even when with
    very big dimensions.
  - GIMP on Windows is now able to detect if it is being run from either
    console or shortcut, and use the python.exe interpreter in the
    former case, or pythonw.exe in latter case (silent output).
  - Fixed vulnerability: ZDI-CAN-28376 (XCF loading).

Tools:

  - All tools drawing directly on layers are now blocked when a text,
    link or vector layer is selected. An error message will suggest you
    rasterize these layers explicitly first, in order to be able to do
    any "destructive" action.
  - Text tool:
    * Dialog when trying to edit a rasterized layer text has been reworded.
    * Support pasting unformatted text with action text-tool-paste-unformatted
      (shortcut Ctrl|Primary-Shift-v by default).
    * On-Canvas style editor now has a move area allowing to move the
      GUI on a different position on canvas. This position is remembered
      per-text layer. When the position has been manually set, a reset
      button will also appear in the on-canvas editor (allowing to get
      back to default positionning).
  - Path tool:
    * Selecting a vector layer when the Path tool is active will pop a
      dialog up, similar to the one which we have in Text tool when a
      text layer is picked.
    * Improved logic for the creation and selection of vector layers and
      paths when the tool is active.
    * Double clicking a vector layer would activate the Path tool on it.
      The setting to change the path is moved to the layer options
      dialog.
  - Transform tools are not initialized anymore when they are selected
    after an automatic tool swap (when a filter tool is committed or
    canceled; cf. Core section).

Graphical User Interface:

  - "Rasterize" and "Revert Rasterize" menu items added to Layer menu
    when the selected layer is a text, link or vector layer.
  - The GimpColorHexEntry will now update the chosen color as you type.
  - Use a standard, yet extended, AppMenu on macOS.
  - Advertize the menu path to "Rasterize" items in error messages when
    trying to edit a rasterizable drawable.
  - Dragging a file to the image tab bar opens the file as a new image.
  - Additionally to status error messages, the layer blocking a "Merge
    Down" is now blinked on the Layers dialog to draw attention.
  - GimpViewableDialog header icon and view will now scale based on user
    custom icon size.
  - Color history colors can now be dragged and dropped, to fill or set
    colors as expected, as any other color area widgets.
  - It is now possible to select different objects with the same name
    when listed in a GimpContainerEntry (typically, 2 fonts named the
    same, when you are trying to select one of them in the font entry of
    Text tool options or of the on-canvas GUI; this was already working
    in the Fonts dockable, but not in the container entries).
  - We can now properly blink paths in the Paths dockable too (it used
    to only work for layers and channels). This will be used for
    actions, to raise awareness to reasons why an action cannot be
    executed.

Plug-Ins:

  - file-compressor: add zip decompression support. This allows support
    for loading .hgt.zip files, as well as other formats compressed with
    zip.
  - SVG: initial export support, including support for vector, text and
    link layers natively. Raster layers and masks are optionally
    embedded as either PNG or JPEG base64-encoded data.
  - Gimpressionist: edit button labels to more appropriate wording.
  - PDF:
    * supporting for exporting vector layers as paths.
    * background fill is set on all pages for multi-page PDFs.
  - PVR textures: new import support.
  - Replacing scale entries by spin scale widgets in various plug-ins.
  - Animation Playback and ImageMap plug-ins can now be closed with
    Escape like other plug-ins.
  - Fixed vulnerability: ZDI-CAN-28248 (JP2 image loading).

API:

  - libgimpbase:
    + New enum types:
      * GimpTextOutline
      * GimpTextOutlineDirection
    + Deprecated functions:
      * gimp_pixpipe_params_init
      * gimp_pixpipe_params_parse
      * gimp_pixpipe_params_build
      * gimp_pixpipe_params_free
  - libgimpcolor:
    + New functions:
      * gimp_cairo_surface_get_buffer
    + Deprecated functions:
      * gimp_cairo_surface_create_buffer
  - libgimpwidgets:
    + New macros:
      * GIMP_ICON_LAYER_LINK_LAYER
      * GIMP_ICON_LAYER_VECTOR_LAYER
    + GimpBrowser search entry ported to GtkSearchEntry.
    + GimpLabelEntry accepts a NULL value and will convert it to empty
      string.
    + gimp_widget_free_native_handle() implementation improved and docs
      updated with important information on how to use it (disregarding
      the new information, crashes on Wayland may happen).
  - libgimp:
    + New functions:
      * gimp_vector_layer_get_enable_fill
      * gimp_vector_layer_get_enable_stroke
      * gimp_vector_layer_get_fill_color
      * gimp_vector_layer_get_fill_pattern
      * gimp_vector_layer_get_path
      * gimp_vector_layer_get_stroke_cap_style
      * gimp_vector_layer_get_stroke_color
      * gimp_vector_layer_get_stroke_pattern
      * gimp_vector_layer_get_stroke_dash_offset
      * gimp_vector_layer_get_stroke_dash_pattern
      * gimp_vector_layer_get_stroke_join_style
      * gimp_vector_layer_get_stroke_miter_limit
      * gimp_vector_layer_get_stroke_width
      * gimp_vector_layer_get_stroke_width_unit
      * gimp_vector_layer_set_enable_fill
      * gimp_vector_layer_set_enable_stroke
      * gimp_vector_layer_set_fill_color
      * gimp_vector_layer_set_stroke_cap_style
      * gimp_vector_layer_set_stroke_color
      * gimp_vector_layer_set_stroke_dash_offset
      * gimp_vector_layer_set_stroke_dash_pattern
      * gimp_vector_layer_set_stroke_join_style
      * gimp_vector_layer_set_stroke_miter_limit
      * gimp_vector_layer_set_stroke_width
      * gimp_vector_layer_set_stroke_width_unit
      * gimp_item_is_vector_layer
      * gimp_item_id_is_link_layer
      * gimp_item_is_link_layer
      * gimp_link_layer_get_by_id
      * gimp_link_layer_get_file
      * gimp_link_layer_get_type
      * gimp_link_layer_new
      * gimp_link_layer_set_file
      * gimp_param_link_layer_get_type
      * gimp_param_spec_link_layer
      * gimp_procedure_add_link_layer_argument
      * gimp_procedure_add_link_layer_aux_argument
      * gimp_procedure_add_link_layer_return_value
      * gimp_link_layer_get_mime_type
      * gimp_text_layer_get_outline
      * gimp_text_layer_get_outline_antialias
      * gimp_text_layer_get_outline_cap_style
      * gimp_text_layer_get_outline_color
      * gimp_text_layer_get_outline_dash_offset
      * gimp_text_layer_get_outline_direction
      * gimp_text_layer_get_outline_join_style
      * gimp_text_layer_get_outline_miter_limit
      * gimp_text_layer_get_outline_width
      * gimp_text_layer_set_outline
      * gimp_text_layer_set_outline_antialias
      * gimp_text_layer_set_outline_cap_style
      * gimp_text_layer_set_outline_color
      * gimp_text_layer_set_outline_dash_offset
      * gimp_text_layer_set_outline_direction
      * gimp_text_layer_set_outline_join_style
      * gimp_text_layer_set_outline_miter_limit
      * gimp_text_layer_set_outline_width
      * gimp_param_rasterizable_get_type
      * gimp_param_spec_rasterizable
      * gimp_rasterizable_get_type
      * gimp_rasterizable_is_rasterized
      * gimp_rasterizable_rasterize
      * gimp_rasterizable_restore
      * gimp_file_procedure_get_meta
      * gimp_file_procedure_set_meta
      * gimp_images_close_popup
      * gimp_images_popup
      * gimp_images_set_popup
      * gimp_items_close_popup
      * gimp_items_popup
      * gimp_items_set_popup
    + Deprecated functions:
      * gimp_drawables_close_popup
      * gimp_drawables_popup
      * gimp_drawables_set_popup
    + Removed functions:
      * gimp_vector_layer_discard (since 3.1.4, but never in a stable
        release).
    + New classes:
      * GimpLinkLayer
    + New interfaces:
      * GimpRasterizable: GimpLinkLayer, GimpTextLayer and
        GimpVectorLayer now implement this interface.
    + gimp_item_is_is_text_layer() will now always return TRUE for a
      layer which is a text layer in backend, even if it has been
      rasterized. It used not to, probably because the "Discard Text
      Information" was not reversible (except by undoing), whereas now
      we can "Revert Rasterize". Instead you should use
      gimp_rasterizable_is_rasterized() to determine whether to consider
      a GimpTextLayer as a raster layer or as a text layer.
    + gimp_file_load() as well as the image returned by a
      GimpLoadProcedure are now always returned as "clean" and with
      empty undo stack.
    + gimp_drawable_get_thumbnail_data() and
      gimp_drawable_get_sub_thumbnail_data() implementations updated to
      always return sRGB(A) 8-bit.
  - libgimpui:
    + New functions:
      * gimp_image_chooser_get_image
      * gimp_image_chooser_get_label
      * gimp_image_chooser_get_type
      * gimp_image_chooser_new
      * gimp_image_chooser_set_image
      * gimp_prop_image_chooser_new
      * gimp_item_chooser_get_item
      * gimp_item_chooser_get_label
      * gimp_item_chooser_get_type
      * gimp_item_chooser_new
      * gimp_item_chooser_set_item
      * gimp_prop_item_chooser_new
    + New classes:
      * GimpImageChooser
      * GimpItemChooser
    + Deprecated Classes:
      * GimpDrawableChooser

Metadata:

  - Making GIMP's project vision clearer in metadata description.

Build:

  - Depends on babl 0.1.116 and GEGL 0.4.64.
  - The stable Snap package (on Snap Store) has been officially passed
    over to the GIMP team.
  - Cleanup done in devel-docs/ with more developer documentation moved
    over to the developer website.
  - Build option -Dwin32-debug-console removed (cf. Core section).
  - Windows builds: GEGL is not built anymore with Matting Levin because
    it is highly unstable (crashes) on this OS.
  - Flatpak nightly builds will now show the correct version on `flatpak
    list`.
  - Our .exe installer will now have a dark mode (with Inno Setup 6.6.0).


Overview of Changes from GIMP 3.1.2 to GIMP 3.1.4
=================================================

Core:

  - About dialog now shows "Up to date as of <date>" text for more
    clarity.
  - Fixed config migration when updating to GIMP 3.1/2.
  - Reorganizing layer search code into generic item tree view search
    code for further reusing into other use cases.
  - Internal classes, config items and actions renamed from "vectors" to
    "path".
  - Some cleanup of outdated disabled unit tests and other warnings.
  - Restructuration of internal GimpControllerManager and
    GimpContainerView API.
  - GimpContainerListView now uses a GtkListBox. A Playground switch was
    added to use the new widgets in all views that can be switched
    between list and grid view (brushes, patterns etc.). This won't
    likely get out of Playground before GIMP 4 because it is far too
    slow right now (and apparently we'll need GTK4 for making it fast as
    our current lists).
  - Various code have been moving away from GtkTreeView and some new
    internal classes were added as a preparation for GTK4 port.
  - GEX format updated to use standard <custom/> instead of <metadata/>
    per update in the AppStream specs in the last few years. This
    doesn't make any compatibility issue since this format is purely
    internal only for now, not public.
  - New setting "Update metadata automatically" in Preferences > Image
    Import & Export > Export Policies. When enabled, add and update
    metadata automatically. When disabled, only the minimum necessary
    metadata changes are made, without changing modification date,
    synchronizing tags, or updating the software and change history
    metadata. This new setting is enabled by default.
  - Fix palette import to properly import colors with alpha values from
    palettes.
  - New layer types:
    * vector layers
    * link layers
  - Fill/Stroke editor are now live-previewing color changes for vector
    layer fill/stroke and text layer outlines.

Tools:

  - MyPaint brush tool was ported to the newer MyPaintSurface2 API. A
    consequence is that we now depend on mypaint-brushes-2.0 instead of
    mypaint-brushes-1.0.
  - Seamless Clone (Playground): made to work again, but is still too
    slow to move out of Playground.
  - The Paths tool has updated UI to create vector layers.
  - Text tool: bold, italic and underline can now be applied with
    commonly used shortcuts (Ctrl+b, i and u respectively).
  - Vector and Link layers cannot be painted on, and filters cannot be
    merged on them. They now need to be explicitly downgraded to raster
    layers.

Graphical User Interface:

  - More consistent capitalization across text in UI.
  - Use system colors on Windows title bar when System colors theme is
    set.
  - Make the comment text area sensitive in Export procedure dialogs
    depending on whether "Save Comment" checkbox is checked or not.
  - In various GUI using a GtkStack (Input Controller dialogue,
    Preferences dialogue, and Welcome dialogue), we now turn off
    animations when it is set OFF system-wide.
  - "System" color scheme now also works on macOS.
  - GimpSpinScale cursors now changed to "pointer" when hovering the
    slider area and "col-resize" when actually grabbing the cursor.
  - The Welcome dialog will now recognize your standard shortcuts to
    create a new file, open a file or open one of the 10 most recent
    files.

Plug-Ins:

  - TIFF - Add support for the following features, based on unofficial
    documentation and user-provided sample files:
    * Sets the selected layer based on the image-level metadata.
    * Sets the visibility of the background layer based on the image
      level metadata.
    * Sets the blend mode and color tag of each layer, based on extended
      layer-level metadata. Legacy blend modes are used, based on
      user feedback and comparison with Sketchbook.
    * Creates group layers and stores layers in them. Layers are read from
      top to bottom, and layer groups are added and filled based on layer
      level metadata.
  - Animation Playback was redesigned to more closely resemble standard
    playback UIs. The redesign also changes the progress bar to a
    GtkScale, so users can more easily move to different frames on the
    timeline.
  - New GEGL Filter Browser plug-in to list and inspect all available
    filters for development purpose.
  - New import support:
    * PAA textures: initial import support (includes RGBA 4444, 5551,
      8888, and Grayscale with Alpha channel. It does not yet cover DXT1
      - 5 texture import support).
    * Seattle Filmworks photos (earliest format SFW93A, and the most
      common format SFW94A). Both formats are essentially mangled JPEGs,
      though mangled in different ways.
    * HRZ Slow Scan Television Images (restored, as it used to be
      implemented and removed in 2004).
  - Raw Image data plug-in dialog redesigned to be on a two-column
    layout to avoid over-high dialog.
  - Print: in sandboxed environments (Flatpak, Snap), the print Settings
    are now displayed as a second dialog after the portal print dialog.
    This 2-step workflow is a work-around to the inability to tweak the
    print dialog when the print portal is in use.

API:

  - GimpTRCType enum type made available in libgimp and PDB.
  - gimp-file-save properly sets associated save or exported files.
  - New PDB/libgimp functions:
    * gimp_drawable_filter_operation_get_available()
    * gimp_drawable_filter_operation_get_details()
    * gimp_drawable_filter_operation_get_pspecs()
    * gimp_context_get_paint_fade_length()
    * gimp_context_get_paint_fade_repeat()
    * gimp_context_set_paint_fade_length()
    * gimp_context_set_paint_fade_repeat()
    * gimp_item_id_is_vector_layer()
    * gimp_param_spec_vector_layer()
    * gimp_procedure_add_vector_layer_argument()
    * gimp_procedure_add_vector_layer_aux_argument()
    * gimp_procedure_add_vector_layer_return_value()
    * gimp_vector_layer_discard()
    * gimp_vector_layer_get_by_id()
    * gimp_vector_layer_new()
    * gimp_vector_layer_refresh()
  - GimpSizeEntry (libgimpwidget) can now parse mathematical expressions
    in their reference value spin buttons too.
  - GimpColorScales (libgimpwidget) will now set its decimals to 0 when
    creating u8 RGB color selectors. This change will help further
    distinguish between the 0...00 and 0..255 views in the Color
    Selectors. It will also better convey to users that u8 is an integer
    value rather than a floating point.
  - Favor existing image comment instead of always loading comment from
    metadata.
  - Improve handling of comment metadata with
    "charset=[ascii|InvalidCharsetId]" prefixes.
  - New GIMP_METADATA_SAVE_UPDATE value in enum type
    GimpMetadataSaveFlags (libgimpbase).
  - Modernize setting "Exif.Image.DateTime" metadata by setting the
    timezone additionally.

Build:

  - Add nightly Snap package.
  - Add nightly Aarch64 flatpak.
  - appstream-glib dependency replaced with libappstream
  - Installer uses latest InnoSetup now.
  - New configure option -Dwin-debugging allowing to choose DWARF debug
    symbols on Windows instead of the native (CodeView) symbols. This
    will be useful for people wishing to debug with GDB in particular.


Overview of Changes from GIMP 3.0.4 to GIMP 3.1.2
=================================================

Core:

  - Layer mask created from layer's alpha when there is no alpha
    channel is now a fully opaque mask.
  - Major non-destructive filter code refactoring.
  - Lock Content now generates undo steps.
  - NDE filters are now allowed on channels.
  - Merging filter will now add an alpha channel to a layer if required.
  - Refactoring Photoshop stream loading functions.
  - Loading Photoshop RGB and grayscale patterns (.pat, unfortunately
    the same extension as our own pattern format) now supported.
  - The histogram editor now shows a "Compute unique colors:" checkbox
    which will display the unique color count in the image.
  - Deleting current palette entry now selects the next entry in the
    palette.
  - New paint mode: Overwrite. Note that this mode is only available for
    paint tools right now (in particular not for layers, neither in
    filters).

Graphical User Interface:

  - Brushes and Fonts dockables: new "Use theme colors for preview"
    toggle button.
  - The Palettes and Palette Editor dockables, and the Palette tab in
    FB/BG Color dockable, also follow theme colors for grid display.
  - New "System" color scheme which will follow the system's color
    scheme setting (on Unix-like systems when XDG Settings portal is
    installed and on Windows).

Tools:

  - Curves tool: Photoshop curves file format (.acv) can now be loaded.
  - Levels tool: Photoshop levels file format (.alv) can now be loaded.
  - Text tool: new "Outline Direction" settings.

Plug-Ins:

  - Jigsaw: the plug-in now draws on transparent layers too.
  - Playstation TIM images now supported (import/export).
  - Palettes can now be exported as Krita .kpl palette.
  - Over The Air Bitmap (Nokia mobile image format) now supported for
    import.
  - PSD:
    * legacy Drop Shadow layer style is now imported on loading.
    * legacy Inner Shadow layer style is now imported on loading.
  - file-raw: new support for ART (Another RawTherapee, fork of the
    latter) as a RAW loader.
  - OpenEXR: support for importing multi-layer OpenEXR images.
  - JPEG 2000: export support added.
  - APNG: initial import support.
  - JIF: new import support for Jeff's Image Format.
  - ORA: support the extensions storing layer's "pixel locked" and
    "selected" status on import and export.
  - Script-Fu: new function (script-fu-register-i18n) for setting up
    localization of Script-Fu plug-ins.
  - HEIF:
    * new AVCI import support (requires libheif 1.19.6 with OpenH264
      decoder enabled);
    * new HEJ2 export support (requires libheif 1.19.8 with OpenJPEG
      support).
  - New export support for PSB.

Modules:

  - CMYK selector: Total Ink Coverage (total percentage of ink that
    would be needed to print a particular color) information is now
    shown.

API:

  - Changes in libgimpwidgets:
    * New functions:
      + gimp_prop_toggle_new()
  - Changes in libgimpui:
    * New functions:
      + gimp_procedure_dialog_get_coordinates()
    * gimp_procedure_dialog_get_widget() will now generate a radio frame
      widget for GimpChoice arguments of 2 choices only (and will still
      default to a combo box for larger choices list).

PDB:

  - none_ok tag now allowed on sample_point and guide PDB types.

Build:

  - File format associations list now generated by the build system for
    Windows and OSes using the Desktop file.
  - Flatpak: verify nightly flatpak dependencies with the
    flatpak-external-data-checker (like we do for stable and beta
    flatpaks).
  - Various non-portable scripts were ported to be properly
    POSIX-compliant and to allow native builds on all OS (e.g. Windows).
  - Some soft checks were also added to the build system to prevent
    re-introduction of non-portable code.


Overview of Changes from GIMP 3.0.2 to GIMP 3.0.4
=================================================

Core:

  - Make maximum radius for generated brushes consistent across
    codebase.
  - Use NDE filter name for undo history.
  - Module loading improved to be better cross-platform (in particular
    on macOS both .so and .dylib modules are supported).
  - Code compliant with GCC 15 (C23).
  - Filter size updated when its drawable is rotated.
  - Font loading (at startup) optimized.
  - Set the proper program name for KDE/Wayland to map the process to
    the correct desktop file.
  - "windows-display-*" are hidden from the Shortcuts dialog (they are
    not meant to be remapped).
  - Editing non-destructive effects now triggers undo steps.
  - When migrating from GIMP 2.x to GIMP 3, shortcuts for actions
    "edit-paste-as-new-layer*" are now converted to "edit-paste-merged*"
    (and not "edit-paste*" anymore which was confusing and
    counter-productive).

Graphical User Interface:

  - Highlight selected device in GimpDeviceStatus.
  - Various theme leak fixes.
  - UX improvement: GimpViewableDialog (e.g. Fill/Stroke path and more)
    now has "OK" as default response.
  - Icon size settings now also applying to Move and Transform icon
    boxes.
  - Commit hash is now shown in About dialog in all non-release builds
    (i.e. even in stable series, when we are in-between releases).
  - Hide Force slider for Pencil Tool (rather than just making it
    insensitive).
  - Define merged titlebar icon colors.
  - Keep menubar color consistent when out of focus.
  - We don't show Fx icon for tool-based filters.
  - Updated splash without micro version in it.
  - Removed size restrictions on Display Filters.
  - Don't show hidden tools on toolbox tooltips.
  - Fix "Keep above" Window Manager hint.
  - Multi-Window mode on Windows: dock windows' title bars now adapt to
    the Windows system theme colors too.
  - Show palette name in Palette Color Selector.

Tools:

  - MyPaint Brush: have consistent options layout compared to other
    paint tools.
  - Scissors Select Tool: close the curve on Enter, similar to the Path
    tool.
  - Path Tool: connect path on click in design mode.

Plug-ins:

  - Restore GUI to Difference Clouds script. This had been lost since
    GIMP 2.8!
  - Fixes in various file format support, such as: DDS, SVG, TIFF, PSD,
    BMP, ICO…
  - Screenshot dropdowns replaced by radio buttons, as part of a new UX
    decision that choice settings with 2 or 3 choices should be dropdown
    (faster 1-click access), unless there are a lot more settings making
    the dialog too crowded already.

PDB:

  - Make "gimp-plug-ins-query" public again (yet still not available in
    libgimp).

Build:

  - Windows Installer:
    * Make the installer aware of Install, Reinstall and Update modes.
    * Add Repair mode to Windows installer: in particular we can now fix
      installations when the previous install directory cannot be
      accessed anymore.
    * The feature to delete the config folder on Windows uninstall will
      now make a backup on the Desktop first (allowing people to delete
      it themselves, move it, or even restore it later if needed).
    * Uninstalling while GIMP is running is made impossible (among other
      issues, it was causing partial uninstallation).
    * Downgrading is only possible by uninstalling first.
    * Development warning is shown in dev build of stable series too.
    * Add fractional scaling support to Installer welcome image.
    * Restore points now have a timeout to prevent stuckness.
  - Our AppImage won't ship debug symbols anymore. Better debugging can
    be set with: export DEBUGINFOD_URLS="https://debuginfod.debian.net"
  - Windows builds:
    * Ship babl/GEGL and libgimp headers, static libs and pkg-config
      files for plug-in developers.
    * Dedicated file icon for XCF files.
    * Generate native .pdb CodeView symbols on Windows (smaller debug
      data files, usable by MSIX and better debugging ability), except
      on x86 (32-bit).
  - Crossbuilds are dropped from CI.
  - Shell scripts used in the meson build are ported to Python (more
    portable and much faster on some platforms, in particular Windows).
  - Some build scripts were moved around for reorganization.
  - Depency requirement bumped:
    * babl 0.1.114
    * GEGL 0.4.62
  - New "Inputs" feature for simpler Gitlab pipelines running.
  - Some in-repository documentation was cleaned up.


Overview of Changes from GIMP 3.0.0 to GIMP 3.0.2
=================================================

This is a bug-fix only release.

Core:

  - Mark some strings translatable.
  - Fix crash when choosing a brush in grid view.
  - Windows: temporary revert of some Input Device handling code which
    was breaking pressure sensitivity for some graphics tablets (though
    this revert may make issues with the eraser tip).
  - Fix crash when choosing a non-existing font in text tool options.

Tools:

  - Reorder Line Art Detection options per design decision.

Graphical User Interface:

  - Keep headerbar color consistent when out of focus.
  - Histogram uses the luminance value of the foreground color as a
    threshold to lighten or darken the border color for contrast with
    the histogram itself.
  - Improve separation between panels in dark theme.
  - Add default response for GimpQueryBox dialogues.
  - Spacing between toolbox widgets improved.
  - GimpSpinScale slider colors inverted.
  - New icons: "gimp-toggle-on" and "gimp-toggle-off" and using them in
    the Search Action's list as icons for toggle actions.

Plug-ins:

  - Python Console uses the luminance of the background color for error
    text.
  - Metadata Editor: fix buffer overflow.
  - Gradient Flare: fix crash when setting the size to 0.
  - Screenshot: X11 implementation is bypassed (in favor of portals)
    when running on XWayland.

Build:

  - Various packaging fixes and cleanup.
  - The Windows installer now prompts (only in user installation) about
    deleting GIMP config files when uninstalling.
  - GEGL 0.4.58 is now our minimum requirement.
  - Windows installer: create Restore Point on system-wide install.