-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathNEWS
More file actions
1990 lines (1639 loc) · 87.7 KB
/
Copy pathNEWS
File metadata and controls
1990 lines (1639 loc) · 87.7 KB
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
------------------------------
GNU Image Manipulation Program
2.10 Stable Branch
------------------------------
This is the stable branch of GIMP. Unlike earlier stable branches,
we do allow some new features here, if they are not too invasive.
Otherwise, this branch is only for bug-fixes.
Overview of Changes from GIMP 2.10.36 to GIMP 2.10.38
=====================================================
This release features some important feature backport for Windows: support of
Windows Ink API for input devices (i.e. graphics tablets in particular).
Other than this, it is mostly a bug-fix release of core and plug-in code. On any
OS other than Windows, there are no functional changes, though you will want to
update for fixes.
Core:
- Windows Ink support backported from GIMP 3 (this also relies on GTK+3
backports so the build for GIMP 2.10.38 requires specially-patched GTK+2, on
Windows only).
- On Windows, it would now be possible to use devices attached after GIMP has
started through a fallback device.
Translations:
- 15 translations were updated: Belarusian, Brazilian Portuguese, British
English, Danish, Georgian, German, Hungarian, Icelandic, Italian, Norwegian
Nynorsk, Slovenian, Spanish, Swedish, Turkish, Ukrainian.
Build:
- Many GTK+2 patches for Windows (see #7498) were backported specially from
newer GTK versions and are integrated in our installer.
Overview of Changes from GIMP 2.10.34 to GIMP 2.10.36
=====================================================
Core:
- Disable Arbitrary Rotation menus (under both Image and Layer menus) if no
image is active, for consistency.
- New gradient available: FG to Transparent (Hardedge) gradient.
- A change in linuxwacom made some graphics tablet crash GIMP. Though the
issue is in the driver (downgrading it "fixes" the issue), it was bad enough
that a workaround was also added in GIMP code so that we don't crash with
the newer driver. A fix was also merged on linuxwacom itself:
https://github.com/linuxwacom/xf86-input-wacom/issues/307
https://github.com/linuxwacom/xf86-input-wacom/pull/309
- New palette import supports:
* Adobe Swatch Exchange (ASE)
* Adobe Color Book (ACB)
- Generated Brush previews are now rotated clockwise with the brush angle,
which goes against the documentation. Nevertheless this is how angles were
used on canvas in the 2.10 branch until now, so to avoid breaking existing
workflows while having consistent preview, we chose to follow actual
on-canvas usage over documentation. It may be re-evaluated for GIMP 3.
Tool:
- Text tool:
* When replacing a selection, take and apply markup (if any) from
the first character of the selection for the entered text. This fixes the
case when you no longer can change the global layer text properties after
replacing the text.
* Set the blank font name for the standard font instead of 'Standard'
to fix the issue when 'Standard' can be actual font from the list or a
font which starts with (e.g. Standard Symbols PS).
User Interface:
- Item tree view lock boxes:
* now separately themable with gtkrc;
* showing a white frame when hovering over lock buttons;
* showing a small padlock next the lock icon when it's active.
- Add Table of Contents to User Manual submenu (in Help menu).
Plug-ins:
- Fixed vulnerabilities:
* DDS: ZDI-CAN-22093
* PSD: ZDI-CAN-22094
* PSP: ZDI-CAN-22096 and ZDI-CAN-22097
- JPEG-XL: support libjxl v0.9 decoding API.
- Metadata editor: more DigitalSourceType values.
- PDF are now loaded at 300PPI by default.
- GIF:
* Added support of non-square aspect ratio by setting different vertical and
horizontal resolution when a loaded file has the PixelAspectRatio metadata
set.
- Various more file format fixes (at least GIF, PDF import, HEIF/AVIF, JPEG
XL, XWD, DDS) and various fixes in non-file format related plug-ins too.
- Image Map: HTTPS scheme now accepted in the URL field.
Libgimpbase:
- Do not save Photoshop specific EXIF metadata when exporting images because
they can contain sensitive data and we cannot update them.
- We now update Exif.Photo.PixelX/YDimension Exif tags when resizing and
exporting (but only if they were already present, as they are
non-essential).
Translation:
- 20 translations were updated: Belarusian, Catalan, Chinese (China), Danish,
Dutch, Georgian, German, Greek, Hungarian, Icelandic, Italian, Lithuanian,
Polish, Portuguese, Romanian, Slovenian, Spanish, Swedish, Turkish,
Ukrainian.
Build:
- Added code in the Windows installer script for the ARM 64-bit build, bundled
into the same universal installer (though the first experimental installer
with Aarch64 support was for GIMP 2.10.34 revision 2).
Overview of Changes from GIMP 2.10.32 to GIMP 2.10.34
=====================================================
Core:
- Check for updates now works on macOS (backported from 2.99.14).
- Update help IDs for better integration with the documentation website.
- Symmetry dockable contents is now shown, yet deactivated, when no images are
opened, improving discoverability (backported from 2.99.14).
- DBus fully disabled on macOS (in some case, it could even freeze GIMP
process when dbus is present yet not responding). Open With feature (e.g.
from file browsers) still work fine as it uses a different code path on
macOS. Other features using dbus (opening files or running batch commands
from a separate GIMP process) won't work, but they probably never did on
macOS anyway.
- "Canvas Size" dialog took too much vertical space and now better uses the
horizontal space by moving the preview and offset fiels to the right side,
and the "Center" button just below (backported from 2.99.8).
- Template selector (backported from 2.99.6) in resize dialog.
- Color scale preferences (0..255/0..100 and LCh/HSV settings in Colors
selection dialogs) are now remembered across sessions.
- Eye icon header added to the item tree views to make it more obvious where
to click for item visibility and links (backported from 2.99.10)
- Revert color proofing behavior changed in 2.10.32 which resulted in
inconsistent past workflows.
- "Lock path strokes" tooltip for the dockable icon was renamed "Lock path".
Plug-ins:
- DDS: make GUI translatable.
- file-raw: added high bit depth precision export (partial backport from
2.99.12).
- TIFF:
* Various bug fixes;
* better check for invalid resolutions on import;
* do not generated warnings for incorrect RichTIFFIPTC tags produced by
Adobe products (only output a message to stderr, for not completely
ignoring these);
* Loading "reduced" image or not is now an option. We use a heuristic for
the default value of said option (trying to guess if it's a thumbnail by
using common usage), but final decision is now up to one knowing the image
you load (backported from 2.99.14);
* Default TIFF export format is "normal" TIFF, not BigTIFF (making it
default was definitely an error in 2.10.32).
- PSD:
* Various bug fixes;
* Useless physical unit conversion removed;
* Backported improvement (2.99.10) for importing layers with clipping set
(leading to color bleeding);
* Backported improvements (2.99.10) for importing clipping layers;
* Paths are now exported (backported from 2.99.14).
- WebP: more informative error messages in some cases.
- Flame: various bug fixes.
- JPEG-XL:
* metadata import backported from 2.99.14 - (requires libjxl 0.7.0)
* Partial backport (2.99.8) of JPEG-XL export; export is always in 8bit
lossless.
- HEIF: various bug fixes.
- Dicom: various bug fixes.
- help:
* macOS: https support now working fine for help files (bypassing
lack of support in GIO for macOS platform).
- animation-play: fixed on macOS.
- PDF:
* Import: new option "Fill transparent areas with white" to fill the
background in white (ON by default as most office PDF writers seem to rely
on readers filling the background with white), allowing importing
transparent PDF files.
* Export: new option "Fill transparent areas with background color" allowing
to decide whether to export a PDF with transparent background.
- TGA:
* Added a workaround to load wrongful TGA files exported by Krita (which
they fixed on their side too now, see Krita bug 464484).
- ICO and CUR:
* Magics detection for these formats has been removed (now using only using
filename extension) because it was interfering with the detection of
certain types of TGA images (which are likely more common than ICO and CUR
files, and extension for these should be reliable enough).
Libgimpbase:
- GimpMetadata API (in particular the gimp_metadata_set_from_*() functions)
are now much less memory-hungry (backported from the main dev branch) when
using GExiv 0.12.2 or over. With some huge metadata, it could cause long
freeze or even crashes of plug-ins.
Libgimpwidgets:
- Color-picking with X11 is now the default when compiled with X11, even if a
color-picking portal also exists, because it is always right, whereas
portals return color in display space without the space information itself
(i.e. without profiles).
- New dedicated GimpPickButton implementation for Windows (backported from
2.99.14).
Libgimp:
- New wrapper functions around GEGL ops, which also map to items in our Color
menu:
* gimp_drawable_shadows_highlights()
* gimp_drawable_extract_component()
Build:
- Bumping minimum GEGL to version 0.4.38.
- Bumping minimum libjxl to version 0.7.0.
- New GIMP_RELEASE macro to tell if code is a release or in-between release
(different from GIMP_UNSTABLE which was telling if we are in a stable or
development branch).
- Our stable CI now uses Debian stable where Python2 is still present.
Overview of Changes from GIMP 2.10.30 to GIMP 2.10.32
=====================================================
Core:
- Adding support for localized glyphs ('locl') in Text tool depending
on the value of the "Language" field in Text tool options.
- XCF import nows drop Xmp.photoshop.DocumentAncestors tags after 1000
of them, similarly to what libgimpbase now does. This could happen
in XCF files which were created e.g. from a PSD import before we
handled the issue in libgimpbase.
- XCF import:
* made more robust by ignoring (with a warning) invalid
parasites and continuing to load the rest of the file (which might
be valid). This way, we are able to salvage more cases of
partially corrupted XCF files.
* additional safety checks to detect broken XCF files.
- Version check can be globally disabled through a value in the
`gimp-release` file. This would allow to use the same build on
repositories with an update channels (where we don't want update
check notifications) and on standalone (where we want them).
User Interface:
- Removed titlebar/borders from Windows Splash Screen.
- All official themes now have on-hover indicator around eye and link
toggles in Layer/Channel/Path Dialog tree-views.
- Dark theme:
* Hover-on effect on radio menu items to improve readability.
- Color icon theme:
* Thin contrast border for 'close' and 'detach' to improve their
readability against dark backgrounds on mouse-hover.
Plug-ins:
- TGA: improving indexed images with alpha channel support (both
import and export).
- DICOM: Fix endian conversion for photometric interpretation
"MONOCHROME1".
- file-raw: "RGB Save Type" confusing dialog label renamed to "Palette
Type" as on the main dev branch.
- screenshot: option to capture cursor in now available on Windows.
- pygimp: new optional parameter `run_mode_param` (defaulting to True)
to register() function of the Python binding, which allows to make
the "run-mode" parameter optional when creating a new PDB procedure.
This is already used to fix "file-openraster-load-thumb" without
changing its signature.
- BMP: new PDB procedure "file-bmp-save2" which supports all options
available interactively.
- BigTIFF: our TIFF plug-in now officially supports BigTIFF import and
export.
* Import was actually already working transparently if you had
a recent enough libtiff. Now the recent libtiff is enforced by
dependency requirements.
* Export support was added with a checkbox in the interactive dialog
and a new "bigtiff" argument in the "file-tiff-save" PDB
procedure.
* When an interactive export of ClassicTIFF fails for the explicit
reason of "Maximum TIFF file size exceeded", the export dialog is
raised again with a message proposing to try again as BigTIFF or
trying another compression algorithm.
This allows because discoverability and understandibility of the
issue, while not forcing BigTIFF export (since it might not be
supported everywhere).
* Unlike the same change on the main dev branch, this backport comes
without a dependency requirement bump, which means this will only
work if GIMP is built with recent enough libtiff.
- Raw: more robust load able to load as much as possible from the
file, then fill the rest with white, when offset and dimensions are
bigger than actual file size.
- Improved support of a few plug-in code for building under UCRT
Windows environment (more modern C runtime library than MINGW).
- EPS: loading transparent EPS files now supported.
- JPEG XL: import backported from the `master` (2.99) branch.
- WebP: export has a new IPTC checkbox (saved through XMP) as well as
a thumbnail checkbox. (backported from dev branch, since 2.99.8)
- DDS: export has a new flip option (useful for some game engine) as
well as a new savetype option to export all visible layers (not only
the active one).
- TIFF:
* import support for 8 and 16 bit CMYK(A) TIFF files.
* 1, 2 and 4-bit B/W images are now converted to indexed rather than
grayscale as it seems that there is more of a use case for these
images to be handled as indexed, even though technically they can
be considered grayscale.
In the future we could add an option at loading time where the
user can choose whether they prefer it to be loaded as indexed or
grayscale.
* Fix loading images generated by MATLAB's blockproc function.
* More robust loading for 8 bps grayscale MINISWHITE TIFF.
Libgimp:
- New gimp_plug_in_error_quark() as a generic GQuark/GError domain for
plug-ins (backported from 2.99.6).
- gimp_drawable_brightness_contrast() now works in the [-1.0, 1.0]
range (it's more of a fix than a change because it's what it should
have been from the start).
- Better management of modification time in metadata: IPTC tag
Iptc.Application2.DateCreated is not overridden anymore as it is the
original creation date of the image. Instead we set the XMP tag
Xmp.xmp.ModifyDate for file modification time and
Xmp.xmp.MetadataDate for metadata modification time.
- Format of Xmp.tiff.DateTime is now properly set with timezone as a
consequence of the previous improvement.
Libgimpbase:
- Limit to 1000 ancestors when importing images with incredible amount
of `Xmp.photoshop.DocumentAncestors` tags, which is most likely due
to a bug in some versions of Photoshop (in some PSDs, we encountered
over 100,000 such tags; it probably makes no sense that a document
could have that many ancestor documents). GIMP will now stops at
1000 such tags before dropping the rest and continue loading the
file.
Icons:
- Chain icons for the Color icon theme reworked from the Symbolic
versions (with contrast borders to work on any background color) so
that the "broken" and full variants are easily distinguishable.
Translations:
- New Galician and Georgian translations for the Windows installer.
- 20 translations were updated: Catalan, Chinese (China), Croatian,
Danish, Dutch, Finnish, French, Georgian, German, Hungarian,
Icelandic, Italian, Polish, Portuguese, Russian, Slovenian, Spanish,
Swedish, Turkish, Ukrainian.
Build:
- Bumping minimum GEGL to version 0.4.36.
- The Windows installer now has an option /DISABLECHECKUPDATE=true to
install the same build but editing the `gimp-release` file to
disable update check as newly implemented (see above in Core
section).
Overview of Changes from GIMP 2.10.28 to GIMP 2.10.30
=====================================================
Core:
- Do not follow subpixel font rendering choice from system settings
for text layer rendering. These systems are useful for GUI
rendering on a screen of a specific type and pixel order. Yet when
rendering an image which can be zoomed in or out, showed on various
screens or even printed, subpixel font rendering doesn't make sense.
- Rewrite the core selection drawing logics so that it works on macOS
Big Sur and over. This is a backport (adapted to GTK+2) of the fix
brought in GIMP 2.99.8 for Wayland and macOS.
- Ignore MakerNote metadata tag at export and only store the tags that
go in it, hence avoiding partial invalid metadata.
- Color picking from Colors dockable can now use the Freedesktop
portal.
- On Windows, move from GetICMProfile() to WcsGetDefaultColorProfile()
because the former is broken in Windows 11.
Plug-ins:
- metadata-viewer: improve how XMP tags with multiple values are
handled and shown (now each value on a separate line for better
readability).
- metadata-editor:
* XMP array tags of type BAG and SEQ are now on separate lines.
* Comparing XMP tags with equivalent IPTC tags with multiple values,
each value is compared individually, instead of comparing the list
as a whole.
- Many robustness improvements and other fixes to the metadata
plug-ins.
- AVIF: prefer AOM encoder for export (rather than "rav1e", default of
libheif, yet with worse performance).
- PSD:
* Skip sanity check for mask of rendered layers as some layer mask
have invalid dimensions in such cases. They will now be loaded
correctly.
* Fixed loading of CMYK PSD files without alpha.
* Fixed loading of CMYK images without layers.
* Fixed loading of merged image of a 16 bit per channel RGBA PSD
file with the alpha channel opaque.
- PBM: large file export now always works and does not depend anymore
on the platform's long int size.
- Screenshot:
* GNOME shell implementation dropped because the D-Bus API has been
restricted to core components for security reasons, thus our
plug-in was failing.
* KDE portal moved as last fallback after the X implementation
(when running on X) and Freedesktop portal, because KDE is also
starting to block API calls for security reasons.
Installer:
- Extension .avif now associated to GIMP.
- Drop codepage conversion, use UTF-8 for language files.
Build:
- macOS support officially bumped to macOS 10.12 (Sierra). We would
usually try to avoid doing this within a stable release but the
conditions (lack of contributors) is such that it is hard to avoid.
Overview of Changes from GIMP 2.10.26 to GIMP 2.10.28
=====================================================
Translations:
- 10 translations were updated: Catalan, Chinese (China), Finnish,
Italian, Polish, Russian, Slovenian, Spanish, Swedish and Ukrainian.
Build:
- Fix uninstalled white-border prelight file.
Overview of Changes from GIMP 2.10.24 to GIMP 2.10.26
=====================================================
Core:
- Dashboard now has memory support in OpenBSD.
- Default shortcuts Shift+[ and ] for tool size changed to { and }.
- Performance improvements for GIMP on macOS Big Sur: these
improvements were actually already applied in our macOS packages
since GIMP 2.10.22, but were applied upstream directly only now.
User Interface:
- Dark theme: improve accessibility of GtkRadioButton by adding a
white border on mouse-hover.
- Gray theme: set light background for selected text in Layers and
Paths dockable dialogs to make text visible.
- Dark, Gray and Light themes: remove 3D shadow box around eye and
link toggles in Layers, Channels, and Paths dockable dialog tree
views.
Plug-ins:
- Improved DDS support and fix some red/blue bit swap for RGB10A2 DDS.
The plug-in version is incremented so that it is able to catch and
correct previously incorrect RGB10A2 images exported by older
versions of our plug-in.
- DDS files with "L16" - a 16 bit luminance channel - are now loaded
in 16-bit.
- DICOM images:
* Support for planar configuration.
* Support for deprecated big endian transfer.
- TIFF images:
* Thumbnail storing now done by storing the thumbnail as the second
page in the file (through Exiv2) and setting metadata
"Exif.Thumbnail.NewSubfileType" to 1 (reduced resolution image)
instead of storing the thumbnail as a subifd. This was done
because of a Windows bug locking TIFF files with thumbnail stored
as subfid.
* Symmetrically, loading will ignore pages marked as "reduced
resolution image" (i.e. it will consider them as thumbnails), as
well as try to guess if a page (without subfile type) is a
thumbnail when it meets following criteria: second page with YCbCr
PhotometricInterpretation, old style jpeg compression while the
first page has a different PhotometricInterpretation or
compression.
Script-fu:
- New (dir-make "/dir/name" mode) function to create a directory.
Translations:
- New translations for the Windows installer: Vietnamese, Lithuanian.
- 13 translations were updated: Catalan, Chinese (China), Croatian,
Dutch, German, Lithuanian, Polish, Russian, Slovenian, Spanish,
Swedish, Ukrainian and Vietnamese.
Build:
- On Windows, *.rs file extension is not associated with SUN Raster
images anymore. The reason is that this file extension is mostly
used for Rust code files nowadays. If Windows could detect file
formats with "magic numbers" (i.e. byte identifiers), it would not
be a problem, but since it relies apparently only the extension,
it's better to remove this association.
- Oppositely on Linux and other Unix-like systems using desktop files,
add the image/x-sun-raster MimeType which was forgotten (there,
detection should be fine and not depend on file extension).
- gimp30-tips.mo is not installed anymore (only used during the build
to generate gimp-tips.xml with multiple language support).
- --enable-check-update now has an "auto" value, which is the new
default. It is equivalent to "yes" for Windows and macOS and "no" in
all other cases.
- New unit test to check that localizations listed in the installer
script match available po files in po-windows-installer/.
- "msys*" host value now detected as Windows builds.
- Bumping minimum GEGL to version 0.4.32.
Overview of Changes from GIMP 2.10.22 to GIMP 2.10.24
=====================================================
Core:
- Ignore Pentax and PentaxDng metadata at export because they are
unsupported.
- DBus calls (remote file open, typically with double click on file
browser; and remote command run) are now processed after all command
line files (in case of calls during startup) and in the call order
(FIFO) for consistency. Some timeout has also been added to not spam
the core process with non-processable DBus calls during startup.
- Display profile name in "Color space" field of Image Properties and
improve ellipsis & wrap on dialog fields whose contents' size is not
controllable together with better dialog size management.
- Fix stack overflow when loading very large XCF files on Windows.
- Point snapping now works outside the canvas. This is used for snap
to guides, grid and vectors. Snap to grid only works off-canvas when
"Show All" is enabled because off-canvas grid is not visible
otherwise, though snap to guide and vectors will always work
off-canvas.
Libgimp:
- Various metadata improvements:
* Improve reading of iptc tags that appear more than once.
Plug-ins:
- JPEG export will better advertize when metadata export fails,
possibly with relevant error message. Image export would not fail,
but at least we make the person aware metadata is not properly
exported.
- More robust TIFF import and export:
* Better handling of Exif.Thumbnail.* tags on export.
* Import now ignores TIFF pages with invalid directory (rather than
freezing and output an error to warn of possible data loss).
* Import attempts to count the directories by reading them when the
headers does not announce any directory, which allows to salvage
images with improper header. Also if reading of a directory fail,
we now output a message to warn of possible data loss.
* Fixed loading 2 and 4-bit TIFF images in grayscale and indexed.
* Improve support of ExtraSamples fields with non-conformant TIFF
files.
* Improve loading of multi page tiffs with linear TRC.
* More safety checks as a result of fuzz-testing.
* Improve loading of MinIsWhite and MinIsBlack images.
- GeoTIFF tag support added (recognized and stored into image
parasites at import, then exported back when TIFF format is used)
with appropriate "Save GeoTIFF data" checkbox (checked by default
and sensitive only when the metadata parasite is present) to disable
GeoTIFF metadata export when not desired.
- The metadata viewer and editor got a big cleaning and refactoring
pass, as well as various fixes and several improvements:
* Fix handling of IPTC tags which can appear more than once (such as
"Keywords") in both the viewer and editor.
* Always read both the IPTC and XMP equivalent tags in the editor,
instead of assuming they are necessarily the same.
* More IPTC equivalents of XMP tags added:
+ Iptc.Application2.LocationName <=> Xmp.iptc.Location
+ Iptc.Application2.BylineTitle <=> Xmp.photoshop.AuthorsPosition
+ Iptc.Application2.CountryCode <=> Xmp.iptc.CountryCode
+ Iptc.Application2.Writer <=> Xmp.photoshop.CaptionWriter
* The editor now properly saves IPTC tags.
* Improve UTF-8 conversion to avoid double string conversion (hence
actually breaking encoding).
* Use proper unit abbreviations and proper label casing.
* GPS data is now properly formatted with better precision and with
translatable string parts and tooltips are added to explain how to
correctly edit GPS data (latitude, longitude, altitude).
Also seconds part of latitude/longitude is now saved with more
precision and altitude details now switch from .1m to .10m.
* Better error reporting when the editor fails to write a tag, with
proper GUI error, so that such error do not go unseen.
* Better error handling when closing the editor or viewer too, and
improve error handling when the calendar dialog fails.
* Use a logging domain for debugging-only messages which pollutes
the output.
* Xmp.iptc.CreatorContactInfo/Iptc4xmpCore:* override the shorter
forms Xmp.iptc.Ci* if both are present, since the longer form is
more common.
* Improve saving of XMP metadata.
* And more bug fixes and refactoring steps to get rid of duplicate
code.
- PNG will now prompt only for layer offset different from zero. Some
software were always setting an offset of 0 (e.g.: POV-Ray v3.7) so
GIMP would unecessarily prompt the user until now for PNG created by
such software.
- BMP:
* allow loading of BMP images with incorrect BI_BITFIELDS
compression.
* support loading more bit depth such as 24bpp images.
- file-darktable:
* support updated Lua API of darktable 3.6 and beyond;
* Adding environment contents to debugging output when
DARKTABLE_DEBUG env variable is set.
- PDF import:
* New option to reverse order of layer.
* Support fractional DPI (allowing accurate page dimensions).
- DDS:
* Set blue channel of BC5 dds images to 0 instead of 255.
* Fix DDS BC5 compression/decompression with Red and Blue swapped.
We detect images created by an older GIMP on loading and swap the
channels back.
- HEIF:
* Removes the "HDR" mention on HEIF 10/12-bit export because high
bit depth does not necessarily means HDR.
* Runtime detection of HEIC and AVIF file formats (depending on
available encoders and decoders), which allows afterwards update
of the dependency, but also allows usage for a single format (e.g.
for distributions which want to support only AVIF).
* With libheif 1.10, visually lossless export is possible for
10/12 bit depths too
- PSD:
* More flexible reading of layer mask record size, skipping invalid
or unsupported mask info size, hence allowing us to load more PSD
files (at least the part of a PSD we support instead of failing
the whole import altogether).
- G3 fax images:
* Improve error handling when loading.
* Be more forgiving on bad lines which were quite frequent on older
fax images, allowing to salvage some old images.
Build:
- Some configure fixes for autoconf-2.70 support.
- Adwaita's legacy "software-update-available" icon is now bundled
with GIMP to handle the possibility of them being absent from your
system theme (typically it was missing on our Windows build).
Installer:
- New Slovak translation.
Translations:
- Kabyle translation added.
Build:
- Bumping minimum GEGL to version 0.4.30.
Overview of Changes from GIMP 2.10.20 to GIMP 2.10.22
=====================================================
Core:
- Verbose version information (`gimp-2.10 -v` on command line, or
debug output) now displays Flatpak related information when
available. This is especially useful for debugging (such as the
exact Flatpak build hash, the runtime version, the installed
Flatpak extensions, permissions, etc.).
- OpenCL settings has now been moved to the Playground tab in
Preferences.
- On stable builds, "Playground" tab is now visible in Preferences if
any of the experimental features has been enabled, even without the
CLI option `--show-playground`.
Tools:
- "gegl:matting-levin" now the default engine of Foreground Select
tool (when present, as it is an optional feature) as it performs a
lot better.
- GEGL operations now display a "Sample merged" checkbox in Tool
Options. This will be used when the operation allows to pick a color
(hence one can pick from the edited layer or from visible data).
- "Sample merged" now defaults to being activated in Color Picker and
GEGL tools as it seems the less confusing for beginners who don't
know of the option yet (according to a small poll we ran).
User interface:
- In GimpSpinButton, don't propagate Enter key-press events if
updating the spin-button's value in response changes the entered
text. This prevents confirming dialogs when hitting Enter after
entering a math expression in size entries, updating their value
instead.
Likewise, don't propagate Escape key-press events if a new value was
entered, and restore the original value instead.
- GimpMemSizeEntry improved to show appropriate binary prefixes
(kibibyte, mebibyte and gibibyte) instead of decimal ones, to round
properly when using higher units, and to not lose accuracy when
possible when displaying in higher units.
- Several of the biggest pages of the Preferences dialog are now
scrollable, allowing the dialog to fit on smaller displays.
Plug-ins:
- Add a new GIMP_EXPORT_NEEDS_CROP export capability, which causes
gimp_export_image() to crop the exported image content to the image
bounds; this is useful for formats that support layers, but have no
concept of global image bounds, hence cropping is the only way to
enforce the image bounds.
When showing the export dialog, give an option to either crop the
layers to the image bounds, or to resize the image to fit the
layers.
- Content type `image/webp` is now recognized (and not only
`image/x-webp` as both seem to be in used and this format is
unfortunately not yet listed in IANA media types (so various content
types are in use, no clear standard apparently).
- DDS import is now a bit more permissive, allowing to load some files
with invalid header flags regarding compression, while we are able
to know the right compression from other flags. This allows to
recover invalid DDS files exported by other software.
- JPEG detection improved to be more generic and reliable.
- HEIF support improvements:
- AVIF importing and exporting added (requires libheif 1.8.0+)
- 10/12-bit importing and exporting now available for HEIC/AVIF
- NCLX color profile import (link with LittleCMS)
- Metadata support when importing
- "Lossless" option is now called "Nearly lossless (YUV420 format)"
because this is actually what it is, hence previous naming was
misleading.
- TIFF support improvements:
- Add an option to crop the layers to the image bounds when exporting
individual layers (using GIMP_EXPORT_NEEDS_CROP), since TIFF has no
concept of global image bounds otherwise. Cropping is enabled
by default.
- TIFF export will not override "DocumentName" metadata tag anymore.
- Stop writing file paths into TIFF DocumentNames as file paths can
contain confidential information such as usernames and directory
structures, making the previous behaviour a potential privacy and
security risk.
- Fix a file descriptor leak case which may have prevented a file
from being opened on Windows.
- Multiple improvements in the PSP import plug-in:
- support reading raster layers of PSP version > 6,
- support reading 16-bit integer PSP files,
- support reading grayscale and indexed PSP files,
- support PSP images with zero-length layer names,
- fix wrong layer offset of layers,
- fix reading layer names with high bit ASCII characters,
- fix incorrect loading of PSP images with uncompressed channel data,
- fix reading of creator block data of PSP images,
- better error messages describing yet unsupported features,
- improve reader stability by always using the block/chunk length.
- Spyrogimp now works on Grayscale images and clutters less the undo
history.
- "Orientation" metadata is now reset whether you accepted to rotate
the image or not when importing an image.
- XPM does not export a "None" (transparent) color when unused.
- BMP always include color masks when exporting BMP with color space
info, as mandated by BITMAPV5HEADER specification.
Debugging:
- Add progressive performance logs: progressive logs contain complete
information after each recorded sample, by writing partial address
maps at each sample, containing all new addresses introduced by the
sample.
This allows recording complete logs even in cases where they can't
be properly terminated, such as when GIMP crashes or freezes in the
middle of the log.
Progressive logs are disabled by default, since they potentially
increase the sampling cost. They can be enabled through a toggle
in the log file-dialog, or through GIMP_PERFORMANCE_LOG_PROGRESSIVE
environment variable.
Performance log viewer can now process progressive performance logs
too.
- Allow controlling performance-log parameters through the UI.
Build:
- new `distcheck` step in Continuous Integration.
Bug fixes:
#2275, #2668, #2874, #3481, #3868, #4061, #4155, #4328, #4505, #4536,
#4560, #4816, #5043, #5069, #5208, #5219, #5226, #5232, #5274, #5275,
#5357, #5358, #5472, #5530, #5584, #5592, #5623, #5630, #5651
Translation updates:
- Basque, Catalan, Chinese (China), Croatian, Danish, French, German,
Italian, Japanese, Kazakh, Polish, Russian, Spanish, Swedish, Turkish,
Ukrainian
Developers/contributors:
- Daniel a Simona Novomeská, David A. Russo, Elad Shahar, Ell, Jacob Boerema,
Jehan Pages, Liam Quin, lillolollo, luz.paz, Michael Natterer, Michael
Schumacher, Øyvind Kolås, Peter Oliver, Simon McVittie
Translators:
- Alan01, Alexandre Prokoudine, Anders Jonsson, Asier Sarasua Garmendia,
Baurzhan Muftakhidinov, Boyuan Yang, Christian Kirbach, Daniel Mustieles
García, Jordi Mas, Julien Hardelin, Marco Ciampa, milotype, Rodrigo Lledó
Milanca, Piotr Drąg, Sabri Ünal, sicklylife, Stephan Woidowski, Tim Sabsch,
Yuri Chornoivan
Overview of Changes from GIMP 2.10.18 to GIMP 2.10.20
=====================================================
Tools:
- Crop tool now has a "Delete cropped pixels" option active only in
image crop mode, allowing to choose whether to crop layers or only
the canvas (cropped pixels will be made invisible as out-of-canvas
but would still be present). The option is unchecked by default,
as it is the non-destructive behavior, which also means the
default behavior is changed.
- Crop tool in image crop mode will not crop layers with "Lock
pixels" on, anymore, even if "Delete cropped pixels" is checked.
- Painting tools can now restore opacity and blend mode from
presets.
User interface:
- Image / Precision renamed to Image > Encoding
- Tool groups can now display their tool list on hover rather than
on click. This can be set in Preferences, in the Toolbox tab.
- Improved update notification GUI in About dialog, and now also
showing an update comment when one was set in gimp_versions.json.
- Palette Editor dockable: the color index in the current palette is
now shown in front of the color name.
Plugins:
- In file-psd, make the data_start and data_len fields of the
PSDimageres and PSDlayerres structs unsigned, to avoid potential
overflow/sign-extension
- file-raw: Canon CR3 files are now properly recognized by GIMP and
sent to your raw developer software of choice.
- PNG and TIFF export: "Save color values from transparent pixels"
defaults now to not saving color values (i.e. channels set to 0)
when alpha channel is present and 0 itself.
- PDF import: multi-pages are now imported in bottom-first order,
similar to animated formats, and also similar to defaults for PDF
export. This brings consistency but break existing behavior, hence
needs to be noted.
- Added support for exporting 16-bit PSDs, read and write channels
from/to PSd in the right order
Filters:
- The 'Vignette' filter now has on-canvas controls
- New 'Filters -> Blur -> Focus Blur' filter with on-canvas controls
to emulate out-of-focus blurring
- New 'Filters -> Blur -> Variable Blur' filter that uses an aux
mask input to blur an image with variable intensity
- New 'Filters -> Light and Shadow -> Bloom' filter
Updated translations:
- British English, Catalan, Chinese (Taiwan), Dutch, Finnish,
German, Greek, Italian, Korean, Polish, Romanian, Russian,
Spanish, Swedish, Turkish, Ukrainian
Icons:
- Replace fileicon.ico with version contain 24x24, 64x64, 128x128,
and 256x256 sizes for Windows icon
- Replace wilber.ico with version containing 128x128 size of Windows
icon
Bug fixes:
- #189, #354, #872, #1439, #3405, #3533, #3558, #3777, #3841, #4094,
#4328, #4363, #4487, #4618, #4641, #4663, #4696, #4734, #4745,
##4793, 4827, #4846, #4858, #4871, #4895, #4904, #4919, #4967,
##4968, #4992, 4996, #5009, #5010, #5033
Developers:
- Ell, Jehan, lillolollo, Marco Ciampa, Michael Natterer, Øyvind
Kolås, pesder, Salamandar, Sergio Jiménez Herena, Simon Budig, T
Collins, woob
Contributors:
- Nikc, Sabri Ünal, Michael Schumacher, Jernej Simončič, luz.paz
Translators:
- Alexandre Prokoudine, Anders Jonsson, Bruce Cowan, Cristian
Secară, Daniel Korostil, Daniel Șerbănescu, Dimitris Spingos, Jiri
Grönroos, Jordi Mas, Nathan Follens, Piotr Drąg, Rodrigo Lledó
Milanca, Sabri Ünal, Seong-ho Cho, Tim Sabsch, Yuri Chornoivan,
Георгий Тимофеевский
Overview of Changes from GIMP 2.10.16 to GIMP 2.10.18
=====================================================
Core:
- In gimp:replace, when compositing the same content over itself,
i.e., when the input and aux buffers share the same storage and
same tile alignment, pass the input buffer directly as output,
instead of doing actual processing. In particular, this happens
when processing a pass-through group outside of its actual bounds.
User interface:
- Add new Symbolic-High-Contrast and Symbolic-Inverted-High-Contrast
themes, which are automatically-generated high-contrast variants
of the (original) Symbolic theme. The contrast factor is settable
in the makefile, and is currently at 1.5 for both themes.
- Rename tools/invert-svg to tools/svg-contrast, which now takes a
contrast-factor argument, and adjusts the input SVG contrast,
instead of just inverting it. Note that we can still use the tool
to invert icons, using a contrast of -1.
- Allow horizontal scrollbars in all the Preferences dialog tree-
views, so that they don't limit the minimal width of the dialog
(in particular, the UI- and icon-theme tree-views may contain
arbitrarily-long paths).
- Draw a border around the color FG/BG color areas as a pair of
black and white rectangles instead of letting GTK do this. This
imporoves the legibility of borders, especially in dark themes.
Tools:
- In GimpPaintTool, when not snapping brush outline to stroke, make
sure to properly snap the cursor position to 15-degree angle
multiples in line mode, not only when painting the line, but also
during motion.
Plug-ins:
- Add naive support for CMYK 8-bit PSD files
Updated translations:
- Basque, Catalan, Danish, Polish, Spanish, Swedish, Ukrainian
Bug fixes:
- #4643, #4634
Developers:
- Ell, Massimo Valentini
Translators:
- Alan Mortensen, Anders Jonsson, Asier Sarasua Garmendia, Daniel
Korostil, Jordi Mas, Piotr Drąg, Rodrigo Lledó Milanca
Overview of Changes from GIMP 2.10.14 to GIMP 2.10.16
=====================================================
Core:
- In gimp_gegl_apply_cached_operation(), use gint64 for storing the
total and processed pixel counts used for reporting progress, to
avoid overflowing when applying an operation to a large image.
- In GimpFilterTool and gimp_drawable_apply_operation(), use
gimp_drawable_filter_set_add_alpha() to add an alpha channel when
applying an operation that specifies "needs-alpha" to a drawable
that can have alpha.
- In GimpFilterTool, move all the drawable-filter option setup to a
new gimp_filter_tool_update_filter() function, and call it
whenever the drawable-filter's options need to be updated. This
avoids duplicating logic in various places.
- Improve the efficiency of decoding RLE data when loading ABR
brushes, by reading entire scanlines into a buffer all-at-once,
instead of reading the stream byte-by-byte.
- GIMP now optionally phones home to find out if there's a new
version available and then tells the user if there is one
indeed. It also keeps track of the installer revision and then
warns if there's a newer installer available. This can be disabled