-
Notifications
You must be signed in to change notification settings - Fork 1
/
ChangeLog
1419 lines (1304 loc) · 58.4 KB
/
ChangeLog
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
v1.12.3 - 2024-07-13
--------------------
Chema Gonzalez (2):
Y4M loader: add support for full range color
Y4M loader: add support for 10-bit 4:2:0
Kim Woelders (20):
XPM loader: Fix potential segv on malformed file
imlib2_load: Add crc32 printout
test: Corrections for for libjxl-0.10
XPM loader: Fix some color table parsing errors
XPM loader: Major overhaul
test_load_2: Add full range color y4m image
test_load_2: Add some more y4m test images
Some cleanups in asm code
Add endbr32/64 instruction at the start of asm functions
Add missing CET (Control-flow Enforcement Technology) bits in asm code
imlib2_view: Use poll(), not select()
imlib2_view: Minor cleanup
imlib2_view: Enable an alternate background color set (red/green)
imlib2_view: Optionally disable final anti-aliased rendering
imlib2_view: Rename scaling variables
imlib2_view: Optionally scale on input
imlib2_view: Enable specifying border
Y4M loader: Fix frame size calculation for 10-bit 4:2:0 format
imlib2_view: Enable specifying background checkerboard colors
v1.12.3
v1.12.2 - 2024-02-03
--------------------
Chema Gonzalez (3):
Y4M loader: fix support for unexpected framerates
Y4M loader: fix C option analysis
Y4M loader: add error messages on parsing errors
Kim Woelders (15):
test_save: Update crcs for jxl saver (libjxl 0.8.0)
x11_grab: Remove some obsolete code
Y4M loader: Guard some debug code properly
Consistently use #if IMLIB2_DEBUG (not #ifdef)
test_load_2: Check some more y4m files
Y4M loader: Avoid use of sscanf() in frame rate parsing
ANI loader: Avoid debug line when image does not have proper signature
PNG loader: Properly suppress messages from libpng
Y4M loader: Fix warning in non-debug build
Change formatting style
PNG saver: Avoid potential issues around setjmp/longjmp
JPG saver: Fix error path
TIFF loader: Properly suppress messages from libtiff
savers: Fix error returns
v1.12.2
NRK (2):
PNG saver: avoid double-free on write errors
Y4M loader: don't fail on newline
v1.12.1 - 2023-09-21
--------------------
Kim Woelders (12):
Fix some clang complaints
scaling: MMX asm scaling causes segv, disable for now
loading: Call module exit function also when not dlclosing module on unload
loaders: Fix build with -m32 --enable-debug
test_load_2: Add forgotten xeyes.png
test_save: Fix for jxl loader on ix86
test_scale: MMX scaling is disabled
RAW loader: Don't unload loader
loaders: Fix CPPFLAGS order
imlib2_grab, imlib2_view: Unset context colormap
x11_grab: Use correct depth when grabbing
v1.12.1
v1.12.0 - 2023-08-17
--------------------
Chema Gonzalez (3):
test_load2: make error messages more descriptive
Y4M loader: fix support for 420 colorspaces
Y4M loader: add support for images with unexpected aspects
Kim Woelders (46):
imlib2_view: Avoid potential use of uninitialized data
GIF loader: Enable showing animated images even if truncated
Introduce __imlib_perror() to produce error messages
loaders: Use common function to print error messages
imlib2_load: Move time_us() to separate file
imlib2_conv: Add option to time save operations
test: Fix pr_info() when not printing to stdout
loading: Enable calling function on loader load/unload
HEIF loader: Call heif_[de]init() on loader load/unload
autofoo: Don't check for freetype if we are building without text
QOI loader: Add progress calback, indent, cosmetics
Loaders: Static constify some data that may as well be
TGA loader: Fix TGA v2.0 signature check
test: Add basic qoi checks
test_scale: Test scaling some more
scaling: Unifdef OLD_SCALE_DOWN
scaling: Correct scaleinfo array length
scaling: Move scaling function call sequence into common __imlib_Scale()
scaling: Cosmetics (comments)
scaling: Simplify scaling points calculation (eliminate j)
scaling: Change ypoints[] from pointers to indices
scaling: Cosmetics
scaling: Minor refactoring
scaling: Correct scaling up
test_scale: Update for new scaling
image: Fix missing munmap() when using imlib_load_image_fd()
image: Fix potentially using incorrect file size
file: Remove a couple of unused functions
image: Fix potentially using incorrect file size - fixup
test: Bypass wrappers when running tests
test_load: Minor fix in debug message
Add new raw loader
TIFF loader: Slightly more strict signature check
image: Use sub-second time info when available
image: Fix preservation of alpha chanel flag in imlib_clone_image()
image cache: Avoid negative refcounts
image cache: Drop redundant cleanup
image cache: Rework cleanup
Revert "scaling: Correct scaling up"
Revert "test_scale: Update for new scaling"
scaling: Various trivial changes
scaling: Improve non-AA scale-up case
scaling: Correct scaling up - take 2
test_scale: Update for new scaling (re-applied)
test_scale: Exercise non-AA path too
v1.12.0
NRK (11):
WEBP saver: allow lossless and respect compression tag
add a new QOI decoder
QOI loader: fix build on non-gnu compilers
QOI loader: use memcmp for magic and endmarker check
Y4M loader: check file size before magic check
loading: add some debug logs
loading: check for alloc failure
Y4M loader: use custom y4m parser
test_load: allow y4m memory loading
file: Remove unused functions some more
introduce imlib_image_decache_file()
v1.11.1 - 2023-05-01
--------------------
Chema Gonzalez (2):
imlib2: added loader for y4m files (uses liby4m and libyuv)
imlib2: add y4m test examples
Kim Woelders (14):
autofoo: More CLEANFILES
HEIF loader: Add some debug
Y4M loader: Various minor changes
test_load: Add some missing ifdefs
test_load: Add some y4m checks
test: Print some progress info in a couple of tests
modules: Drop some disabled code
autofoo: Tweak PACKAGE_DATA_DIR definition
XPM loader: Add rgb.txt
loaders: Fix loaders potentially being loaded more than once
loaders: Change method used to not unload loaders
Add JXL saver
loaders: Cosmetics
v1.11.1
v1.11.0 - 2023-03-09
--------------------
Guilherme Janczak (1):
remove bad unused function
Kim Woelders (54):
test: Add a few tests for obscure pnm formats
test: Add some pam tests
Avoid some more undefined behaviors with shifts
api: Fix code duplication around some __imlib_BlendImageToImage() calls
api: Change some parameter names
api: Tweak/correct error handling in drawable grabbing functions
image: Let __imlib_CreateImage() allocate pixel data buffer
Drop some redundant calls to __imlib_LoadImageData()
api: Remember error on deferred image data loads
imlib2_load: Show error on deferred data load problem
imlib2_view: Be more verbose about load errors
PNM loader: Speedups
test: Introduce image_get_crc32()
test: test_save: Trivial changes
test: test_save: Check that files are written and ok
PNM saver: Write images with alpha as P7 PAM RGB_ALPHA type
x11_rgba: Add missing const
x11_grab: Avoid cast-align warnings with -Wcast-align=strict
x11_rgba: Avoid cast-align warnings with -Wcast-align=strict
Loaders: Debug macro cleanups
ANI loader: Use struct to access chunk data
Loaders: Avoid cast-align warnings with -Wcast-align=strict
autofoo: Add __PACKED__ for optional struct packing
ANI, PNG, TGA loaders: Enable handling of unaligned data
__imlib_FileDir(): Fix missing closedir() on OOM
Loaders: decompress_load() is not part of the loader API
Loaders: Debug tweaks
Savers: Centralize file open/close
JPG saver: Avoid potential clobber warning
PNG saver: Avoid potential clobber warning
Loaders, savers: Handle EINTR during fopen()
api: Remove pointless statement
api: Update documentation for imlib_get_error()
api: Cosmetics around image save functions
api: Minor simplification in error handling in save functions
Add imlib_save_image_fd()
api: Oops - debug--
test_grab: Rearrange code
x11_grab: Let __imlib_Grab..() return error instead of ok
x11_grab: Eliminate unnecessary pixmap copy
imlib_create_scaled_image_from_drawable(): Simplify call path
x11_grab: Drop now unused 1:1 scaling path in __imlib_GrabDrawableScaledToRGBA()
imlib2_view: Add option to set background checkerboard field size
test_grab: Update
test_grab: Add some tests for imlib_copy_drawable_to_image()
test_grab: Check get-mask-from-shape too
x11: Pass X11 context around by struct
x11_grab: Move window/pixmap checking to separate function
x11_grab: Rework clipping
x11_grab: Clear image pixels not actually grabbed
x11_grab: Various fixes in __imlib_GrabDrawableScaledToRGBA()
x11_grab: Eliminate some overhead in scaled grabbing
test_grab: Debug tweak
v1.11.0
NRK (1):
PNM loader: avoid some undefined behavior
q3cpma (1):
PNM loader: add read support for PAM
v1.10.0 - 2022-12-17
--------------------
Kim Woelders (63):
Introduce imlib_load_image_fde()
imlib2_load: Tweak load mode handling
Introduce Imlib2_Loader.h - all that is needed by loaders
image: Change has alpha flag to separate byte
loading: Don't look for cached image when not caching
loading: New loader infrastructure
loading: Introduce __imlib_ImageFileContextPush/Pop()
loading: Centralize mmap handling
Introduce imlib_load_image_mem()
imlib2_load: Add option to use imlib_load_image_mem()
api: Remove cast previously dropped everywhere else
Hide imlib_get/set_color_usage() if no X11
api: Move X11 related functions to separate file
api: Move filter functions to separate file
Enable disabling filter functions
api: Move text functions to separate file
Enable disabling text functions
J2K loader: Drop showing deprecated item in debug message
image: Fix memory leak when cloning images
Unify basic X11 functionality in test programs
Includes tweaks
test: Re-generate test images with recent tool/library versions
image: Hide internal ImlibImageFileInfo struct
image: Don't munmap external memory
Introduce imlib_get_error()
api: error_return adjustments
imlib2_load: Add option to enable image caching
image: Fix potential use of uninitialized time stamps
PNG loader: Correct frame delay in zero denominator case
PNG loader: Cosmetics
PNG loader: Improved handling of animated PNGs
multiframe: Support loop count
PNG loader: Fix animated PNG loading some more
autofoo: Fix trouble with test subdirectory in distributed source
autofoo: Rework git tag/release stuff
test: test_load: Quit when loading primary image fails
SVG loader: Don't reference multiframe stuff
ICO loader: Eliminate ico_load()
autofoo: Use AC_USE_SYSTEM_EXTENSIONS
imlib2_view: Fix single frame update rendering
test: test_load_2: Check frame 0/1 loading too
PNG loader: Cosmetics
PS loader: Cosmetics
multiframe: Tweaks around frame number handling
multiframe: Centralize handling of frame update offsets
multiframe: Move frame info to allocated record
multiframe: Allocate frame info only when needed
PNG loader: Quit scan when target fdAT is seen
PNG loader: Quit after loading first frame
PNG loader: Simplify update callback handling
imlib2_view: Fix multiframe rendering detail
multiframe: Remove frame offset from updates
imlib2_view: Fix multiframe after update coordinate change
imlib2_view: Deal with all pending X events at once
imlib2_view: Properly handle caching vs progress callbacks
imlib2_view: Don't load bad images twice if first or last in argument list
image: Cosmetics
image: Introduce __imlib_LoadEmbeddedMem()
Add new ani loader
image: Cosmetics (slightly more consisent naming)
ANI loader: Disable progress in embed loader
ANI loader: Multiframe suport
v1.10.0
NRK (3):
Introduce imlib_load_image_frame_mem
imlib_load_image_frame_mem(): set nocache
TGA loader: fix indexing in tgaflip
v1.9.1 - 2022-07-06
--------------------
Kim Woelders (14):
x11_color: Simplify and fix error paths
JPEG loader: Use mmap'ed file access
modules: Eliminate __imlib_TrimLoaderList()
Introduce strsplit()
modules: Cosmetics, mostly
modules: Enable setting multiple loader/filter paths
test: Add test_misc
modules: Fix signdness warning
TIFF loader: Change default save compression type
imlib2_load: Remove unused macro
imlib2_conv: Cosmetic changes
imlib2_conv: Drop obsolete .db stuff, simplify
imlib2_conv: Enable passing attached data to saver
v1.9.1
NRK (3):
check for some alloc failures
check for alloc failures some more
modules: check for filepath truncation
v1.9.0 - 2022-04-21
--------------------
Kim Woelders (53):
Remove some deprecation comments
Move API documentation to header file
WEBP saver: Fix return code on success
api.c: Cosmetics
Refactor some image loading functions
Refactor some image saving functions
Image load: Change error code on zero file size
Tweak __imlib_LoadImageData()
Error code rework: Use errnos/new imlib2 error codes internally
Add imlib_load/save_image_with_errno_return() and imlib_strerror()
Switch to imlib_load/save_image_with_errno_return()
Deprecate imlib_load/save_image_with_error_return()
imlib2_load: Tweak verbose output
Rename files with line etc. drawing functions
Use stdint types instead of DATA32 etc.
test_load: Check deferred loading too
imlib2_load: Show load time per load too
image.c: Correct loader probe loop
image.c: Cosmetics (move function)
GZ loader: Fix uncompressor exit code
GIF loader: Use mmap'ed file access
image.c: Loading tweaks
imlib2_view: Verbose and debug message tweaks
Loaders: Some trivial cosmetics
Loaders: Remove unnecessary calls to __imlib_FreeData()
debug: Enable using hex values in IMLIB2_DEBUG
SVG loader: Requires librsvg-2.46
TIFF loader: Use mmap'ed file access
Add jxl loader
test: Add basic jxl test
test_save: Updates
loaders: Ensure that found loader is ok for load/save
image: Fix undesired change of format
Drop deprecation noise from using the old DATA types
Drop deprecation noise from using imlib_load/save_image_with_error_return()
API doc corrections and tweaks for doxygen
Revert a couple of unintended changes
API doc updates
doc: Drop most old doc stuff
doc: New documentation build setup (doxygen)
doc: Assorted documentation intro updates
loaders: Fix typo, fix order
SVG loader: Faster signature check
build: Tweaks
Add J2K (JPEG 2000) loader using openjpeg2 library
test: Add some of JPEG 2000 tests
Add PS/EPS loader using libspectre
debug: Export __imlib_time_us()
JXL loader: Multiframe support
SVG loader: Avoid some warnings in rsvg.h
SVG loader: Fix size when unit is percent
SVG loader: Fix size when unit is percent some more
v1.9.0
v1.8.1 - 2022-03-15
--------------------
Kim Woelders (32):
PNM, XPM loaders: Fix trouble with non-ascii characters
XPM loader: Reduce signature window size some more
Refactor image flags stuff
Remove some unused image flags and deprecate functions referencing them
JPEG, XBM loaders: Drop pointless clearing of flag
Deal consistently with including Imlib2.h
Merge x11_draw.c/h into x11_pixmap.c/h
x11_rgba.c: Add some missing static qualifiers
x11_color.c: Make most __imlib_AllocColors*() functions static
x11_...: Introduce palette type enum
Loader includes tweaks
Move some loader related function prototypes to loaders.h
common.h: Drop round() macro
debug.c/h: Move __EXPORT__ to .c file
Remove system includes from common.h
Move x_VAL() macros to common.h
Introduce types.h
Remove some unnecessary headers
grad.c: Refactor __imlib_DrawGradient() and __imlib_DrawHsvaGradient()
Only have one CLIP macro
Mostly cosmetic tweaks around clipping checks
test: Command line options tweak
test_grab: Enable testing depths other than 24 and 32
x11_grab.c: Correct 16 and 15 bit depth grabbing
TIFF loader: Remove obsolete comment
ID3 loader: Drop inline and likely stuff
ID3 loader: Disable tags stuff
Introduce __imlib_GetKey()
Merge __imlib_FindBestLoader...() functions
test: Properly include test.h in test SOURCES
test: Exclude from tarball
v1.8.1
Matthias Grosser (1):
imlib2: saving progressive JPEG
NRK (1):
XPM Loader: limit signature check to first 4KiB
Tobias Stoeckmann (2):
imlib2: allow compilation without x headers
imlib2_load: fix typo
Youssef Rebahi-Gilbert (1):
fix: possible memleak in rgba save on big endian systems
v1.8.0 - 2022-02-06
--------------------
Kim Woelders (86):
test: Add context test
Drop context image save/restore around __imlib_Load/SaveImage() calls
Make initial context static
Drop context check/init in API functions
Use __func__ instead of open coded function names
Pass parameters to __imlib_LoadImage() by struct
Trivial cleanups
imlib2_view: Cosmetics (if -> switch)
imlib2_view: Add 'r' command to refresh
imlib2_view: Move window background image init to separate function
imlib2_view: Refactor pixmap rendering
imlib2_view: Remove some pointless function calls
imlib2_view: Tweaks around timeout
debug: Add some image caching debug
imlib2_view: Fix caching option
Add support for multiframe (animated) images
Enable caching for multiframe images
imlib2_load: Add support for multiframe images
imlib2_view: Add support for multiframe images
debug: Add DL macro for additional loader debug
WEBP loader: Multiframe support
ICO loader: Multiframe support
GIF loader: Some refactoring, add debug
GIF loader: Multiframe support
ICO loader: Debug tweaks
Indent
debug: Avoid use of uninitialized data
Loader loading: Avoid access to uninitialized load() item
updates: Reduce memory usage
Drop some intermediate type definitions
autofoo/loader cosmetics
configure.ac: Simplify loader setup
Updates for animated image handling
imlib2_view: Fix(?) animated image frame dispose handling
test: Add a couple of ico depth test images
ICO loader: Minor optimization
ICO loader: Mostly cosmetic changes (inline ico_read())
GIF loader: Always set BLEND flag
imlib2_view: Rework display of animated images
Introduce more loader return codes
BZ2, ZLIB loaders: Move duplicated code to separate file
Add lzma loader
imlib2_grab: Print error message if saving fails
imlib2_view: Verbosity twaeks
imlib2_load: Verbosity twaeks
LZMA loader: Fix potential warning
configure.ac: Correct simplification changes
configure.ac: Correct simplification changes some more
XBM loader: Correct load2() result when no header is found
Add svg loader
SVG loader: Avoid problems when loading the module more than once
imlib2_load: Add no-data option
Add dispose-to-previous frame handling
PNG loader: Disable Imlib2-Comment stuff
PNG loader: Rewrite to use callback API
PNG loader: Add multiframe support
test: Check __imlib_FileKey()
Simplify __imlib_FileKey()
Avoid redundant operations when non-existing file has no "key"
Drop change log from before first version tag
test: Move generated image files out of source dir
test: Add makefile to generate test images
PNM loader: Fix P1 when spaces are omitted
PNM loader: Fix "XV thumbnail" (P7 332) loading
test: Add some more PNM type loading tests
image.c: Avoid potential compile error
imlib2_view: Avoid clang error
Drop/adjust a few comments
Move some code as suggested in source
HEIF loader: A couple of cleanups and fixes
loaders.c: Add heif to known loaders
autofoo: Sort loaders
SVG loader: Fix memory leak on error
HEIF loader: Avoid memory leak when module is loaded more than once
Mark obsolete TTF encoding functions as deprecated
test: Add basic heif loader check
Refactoring around font glyph lookup
imlib2.spec.in: Introduce acflags for configuration of rpmbuilds
Add some missing const qualifiers
Fix gcc12 warning in __imlib_ConsumeImage()
Fix gcc12 warning in __imlib_stripwhitespace()
TGA loader: Make function order same as in other loaders
HEIF loader: Header cleanups
Add imlib_version()
test: Merge common stuff
v1.8.0
Rishvic Pushpakaran (1):
imlib2: added loader for HEIF files (uses libheif), implemented just `load2` for now
Sören Tempel (1):
ICO loader: Fix compilation on big endian architectures
v1.7.5 - 2021-12-06
--------------------
Kim Woelders (83):
Build .xz instead of .bz2 release tarball
Drop imlib2-config (use pkg-config)
Test: Add some minimal regression testing
Test: Fix dist
imlib2_load: Add option to use imlib_load_image_immediately()
JPEG loader: Cosmetics
JPEG loader: Parse EXIF data and handle orientation
autofoo: Drop support for libungif
Imlib.h: Add version macros
imlib2_load: Add verbose option
Fix build (Imlib2.h is now built)
test: Add icon-64.pbm
test: Add test_load_2
imlib2_view: If verbose show error message on failure
imlib2_load: Use clock_gettime() when available
debug: Infrastructure
debug: Add some debug related to file access and image loading
Introduce im->fsize
PNG loader: Cosmetics
PNG loader: Use mmap() during signature check
TIFF loader: Use mmap() during signature check
TGA loader: Use im->fsize, cosmetics, debug
WEBP loader: Cosmetics
WEBP loader: Use mmap() for loading
FF loader: Cosmetics
FF loader: Use mmap() for loading
ARGB loader: Cosmetics
ARGB loader: Use mmap() for loading
BMP loader: Cosmetics
BMP loader: Use mmap() for loading
ICO loader: Cosmetics
ICO loader: Use mmap() for loading
LBM loader: Cleanups
LBM loader: Use mmap() for loading
PNM loader: Use mmap() for loading
XBM loader: Fix potential buffer overrun
XBM loader: Cosmetics
XBM loader: Use mmap() for loading
XBM loader: Ignore comments and other stuff in header
XPM loader: Use mmap() for loading
test: test_load improvements
imlib2_view: Add option to cache images
Introduce UPDATE_FLAG()
Introduce ARRAY_SIZE()
Loader cosmetics
Loader loading: Tweaks
Loader loading: Move to __imlib_FindBestLoaderForFormat()
Loader loading: Move __imlib_GetLoaderList()
Loader loading: Minor loader lookup refactoring
Loader loading: Avoid always loading all loaders
Loader loading: Don't bother looking up load() if we have load2()
WEBP loader: Enable loading animated images (first frame by default)
configure.ac: Fixup after recent change
Drop unnecessary free() NULL argument checks
Remove some unneeded headers
Rename X11 related files for clarity
Move ImlibImagePixmap population to __imlib_AddImagePixmapToCache()
test: Add X11 drawable grabbing test
Move pixmap stuff to x11_pixmap.c/h
Trivial changes in __imlib_Grab...() function prototypes
Refactor imlib_create_scaled_image_from_drawable()
Revert "Refactor imlib_create_scaled_image_from_drawable()"
Refactor imlib_create_scaled_image_from_drawable() - take 2
x11_grab.c: Rename source/destination variables for clarity
Fix y-upscaling in imlib_create_scaled_image_from_drawable()
test_grab: Cleanups, cosmetics
test_grab: Add scale-down tests
Only set MAINTAINERCLEANFILES in top-level Makefile.am
imlib2_view: Enable grabbing/viewing drawables
x11_grab.c: Cosmetics
x11_grab.c: Introduce function to get shape mask
Speedup in imlib_create_scaled_image_from_drawable()
Avoid signedness warning
Avoid "exceeds maximum object size" warning
blend.c: Tweaks, cleanups
Simplify build wrt. asm files
test_save: Check images with alpha too
test: Add some scaling/rotation tests
Refactoring around mmx and rotate function calls
Refactoring around mmx and scaling function calls
Refactor condition for using assembly functions
Update doc for imlib_load_image_fd()
1.7.5
NRK (1):
WEBP loader: fix key selecting last frame
v1.7.4 - 2021-09-17
--------------------
Kim Woelders (15):
imlib2_view: Move property stuff to separate file
imlib2_view: Cleanups
imlib2_view: By default scale large images to fit on screen
imlib2_view: Add some debug
imlib2_view: Fix issue with new default scaling
WEBP loader: Remove forgotten debug printout
WEBP loader: Rename fd variable to be same as everywhere else
LBM loader: Fix potential out-of-bounds memory access
GIF, TIFF, WEBP loaders: Fix loading if filename does not have usual suffix
Revert "GIF, TIFF, WEBP loaders: Fix loading if filename does not have usual suffix"
GIF, TIFF, WEBP loaders: Fix loading if filename does not have usual suffix - take 2
Add script to generate Changelog
Update Changelog to new format
image.c: Use the LOAD_... macros to check loader return values
1.7.4
v1.7.3 - 2021-08-08
--------------------
Kim Woelders (2):
autofoo: Resurrect non-pkg check for bzip2
1.7.3
v1.7.2 - 2021-07-27
--------------------
Kim Woelders (31):
Remove some unnecessary X_DISPLAY_MISSING stuff
rend.c: Remove some pointless lines
Add XBM loader
Add imlib2_load and /build to .gitignore
Remove obsolete and unused AC_HEADER_STDC
Restore file:key functionality
ICO loader: Fix (disabled) debug stuff
ICO loader: Enable specifying ico image index by key
Remove unused Context functions
context.c: Fix potential segv
LBM loader: Fix handling of missing RLE data
Fix clang-analyzer warnings - bin (trivial)
Fix clang-analyzer warnings - loaders (trivial)
Fix clang-analyzer warnings - loaders (suppress bogus)
Fix clang-analyzer warnings - lib (mostly trivial)
Fix clang-analyzer warnings - lib (less trivial)
autofoo: Move more to pkg-config
TIFF loader: Drop use of libtiff defined types deprecated in libtiff-4.3.0
TGA loader: Fix loading small images without footer
Spec file: Add git tag to rpm file name (if built from git checkout)
Cleanups: while->for loops (loaders list)
Cleanups: while->for loops (context list)
Cleanups: while->for loops (im->tags list)
Cleanups: while->for loops (images list)
Cleanups: while->for loops (pixmaps list)
Drop unused Imlib_Object_List:last
Add feature to build with ASAN (--enable-gcc-asan)
Correct (disabled) debug printouts
Loaders: Remove unnecessary headers
WEBP saver: Use fopen() etc. like all other savers
1.7.2
v1.7.1 - 2020-12-09
--------------------
Daniel Kolesa (1):
Fix big endian build
Kim Woelders (6):
rend.c: Fix __imlib_generic_render() when jump != 0
grab.c: Support 30bpp display in __imlib_GrabXImageToRGBA()
WEBP loader: Add initial signature check
XPM loader: Get transparency right when doing header-only loading
Silence a couple of sign-compare warnings
1.7.1
v1.7.0 - 2020-08-01
--------------------
Alexander Volkov (3):
GIF loader: Don't close file descriptor twice
Introduce imlib_load_image_from_fd()
Don't rescan loaders
Kim Woelders (49):
XPM loader: Major speedup for cpp > 2
imlib2_load: Properly check non-full loads (load data too)
imlib2_load: Use getopt()
imlib2_load: Add repeated load option
Simplify __imlib_FileExtension()
Refactor many __imlib_File...() functions to use common __imlib_FileStat()
Drop the __imlib_IsRealFile() file check in __imlib_File...() functions
image.c: Add some space for readability
image.c: Remove some unnecessary clearing of calloc'ed structs
image.c: Rework some obscure file name stuff in __imlib_SaveImage()
image.c: Don't strdup() real_name when not necessary in __imlib_LoadImage()
image.c: Use real_file to get file time
image.c: Introduce __imlib_ErrorFromErrno()
image.c: Use loader return value, not im->w to determine load success
Loader cleanups
Saver cleanups
image.c/h: Cleanups
image.c: Move image tag functions to separate file
image.c: Move loader functions to separate file
image.c: Enable non-dirty pixmap cache cleaning
image.c: Minor refactoring of pixmap cache cleaners
image.c: Move data_memory_func assignment to better place
imlib2_view: Various tweaks
Fix loader cleanup breakage (gif)
image.c: Remove redundant pixmap unref
image.c: Add infrastructure to simplify progress handling
Loaders: Simplify/fix progress handling
Savers: Simplify progress handling
Introduce __imlib_LoadEmbedded()
Introduce __imlib_LoaderSetFormats()
Make ImlibLoader struct opaque
autogen.sh: Add -n as alternative to NOCONFIGURE
Fix enum conversion warnings (gcc10)
JPG, PNG loaders: Avoid clobber warnings
Add a couple of consts
TIFF loader: Minor speedup
ID3 loader: Some mostly cosmetic rearrangements
GZ, BZ2 loaders: Accept more file names
__imlib_FileExtension: Use basename if there are no dots
Revert "JPG, PNG loaders: Avoid clobber warnings"
JPG, PNG loaders: Avoid clobber warnings - Take N+1
Add infrastructure for new loader entry - load2()
Move loaders to load2()
Reduce number of stat() calls during load
configure.ac: Drop initial config.cache removal
imlib2_load: Optionally use imlib_load_image_fd()
Fix build without X11
Remove a couple of unused includes
1.7.0
Tobias Stoeckmann (2):
ICO loader: Do not crash on invalid files
ICO loader: Handle malloc failures
v1.6.1 - 2019-12-13
--------------------
Kim Woelders (11):
gz loader: Use FILE, not fd
gz, bz2 loaders: Fix recent breakage when file name has more than two dots
Quit on 'q' or 'esc' key press in all imlib2_... test utilities
Rename imlib2_test_load to imlib2_load
imlib2_load: Optionally write to stderr instead of stdout
imlib2_view: Add progress debug options
Enable specifying loader/filter paths with environment variables
BMP loader: Remove some bogus conditions
XPM loader: Minor optimization for cpp > 2
LBM loader: Fix header-only loading
1.6.1
Luiz Carlos Ramos (1):
BMP loader: Fix size calculation when saving files
v1.6.0 - 2019-11-24
--------------------
Alexander Volkov (1):
Allow to use custom memory management functions for loaded images
Kim Woelders (64):
Add __imlib_LoadImageWrapper() handling all load() calls
imlib2_conv: Report error on save failure
Autofoo cosmetics
Trivial cleanups in imlib2_... test programs
Add imlib2_test_load program
Cleanups in load() functions
Centralize handling of im->format
Sort loaders in Makefile.am
Remove obsolete dmalloc stuff
Move SWAP.. macro definitions to common.h
Use common PIXEL_ARGB() macro to compose pixels
Add new ICO loader
Spec file simlifications and cleanups
Fix memory leak in imlib_list_fonts()
XPM loader: Refactor exit cleanup handling
XPM loader: Fix potentially uninitialized pixel data
XPM loader: Fixup after "Refactor exit cleanup handling"
Revert "XPM loader: Fix potentially uninitialized pixel data"
XPM loader: Cosmetics (reduce indent level)
XPM loader: Fix several colormap issues
XPM loader: Simplify pixel value handling
XPM loader: Add missing pixels (malformed xpm)
XPM loader: More simplifications
JPG loader: Refactor
JPG loader: Do proper CMYK conversion
Add new WebP loader
Remove pointless im->data checks in loaders
WepP loader: Fix memory leak in error path
JPG loader: Fix memory leaks in error paths
Fix ABI break
ICO loader: Add binary flag to fopen()
JPG loader: Refactor error handling
Rename/add byte swap macros
BMP loader: Major makeover - numerous bug fixes and feature enhancements
Miscellaneous imlib_test_load tweaks
GZIP loader: Check filename before uncompress
imlib2_test_load: Fixup after recent change
Re-indent everything using indent-2.2.12
TGA loader: Refactor
Eliminate WRITE_RGBA()
Simplify autogen.sh
Simplify pixel color handling in api.c
Use pixel instead of r,b,g,a in __imlib_render_str()
Use macro for pixel color access in savers
Eliminate READ_RGBA()
XPM loader: Accept signature not at the very start of the file
Simplify loader lookup functions
imlib2_view: Enable selecting next/prev using keys too
imlib2_view: Fix event processing bug
imlib2_test_load: Fixup recent breakage for real
imlib2_test_load: Check progress conditionally
imlib2_view: Add verbose option, quit on Escape too
TGA loader - Mostly cosmetic refactoring
TGA loader: More mostly cosmetic changes
TGA loader: Support horiontal flip
TGA loader: Add simple 16 bpp handling
TGA loader: Tweak error handling
ICO loader: Fix non-immediate loading
Remove __imlib_AllocateData() w,h args
imlib2_view: Fix next/prev selection if last/first image is bad
ICO loader: Fix memory leak in error path
XPM loader: Correct signature check (avoid accessing unset data)
gz, bz2 loaders: Simplify, eliminate unnecessary strdups, cosmetics
1.6.0.
Olof-Joachim Frahm (欧雅福) (2):
Check filename before opening archive file.
tga loader: implement handling of palette
Ralph Siemsen (1):
loader_tga: fix regression in RLE raw byte handling
v1.5.1 - 2018-03-17
--------------------
Kim Woelders (13):
Fix build without HAVE_X11_SHM_FD (T6752)
XPM loader: Fix potential use of uninitialized value (T6746)
BMP loader: Fix infinite loop with invalid bmp images (T6749)
PNM loader: Simplify (fixing ASCII format parsing issues T6751)
BMP loader: Fix warnings found with -O3
Maximum image dimension should be 32767, not 32766
PNG loader: Correct various error handling cases
Add missing const to imlib_apply_filter() script argument
Warning fixes in imlib2_... programs
imlib2_view: Limit window dimensions to 32767
grab.c: Fix gcc8 warning
imlib2_conv.c: Fix gcc8 warning
1.5.1.
v1.5.0 - 2018-02-22
--------------------
Alexander Volkov (3):
put a check for shared memory inside __imlib_ShmGetXImage()
introduce __imlib_ShmDestroyXImage() instead of __imlib_ShmDetach()
Add support for MIT-SHM FD-passing
Kim Woelders (19):
XPM loader: Fix incorrect image invalidation.
Make some more functions static.
Introduce __imlib_LoadImageData()
Remove redundant CAST_IMAGE()
imlib2_grab: Always use imlib_create_scaled_image_from_drawable() to grab image
imlib_create_scaled_image_from_drawable(): speed up 1:1 case
imlib_create_scaled_image_from_drawable(): Drop shape handling if unshaped
Indent
Autofoo cosmetics
Strip trailing whitespace, cosmetics
Fix potential OOB memory access if border elements are negative
Fix potential OOB memory access if border sizes exceed image dimensions
Introduce IMLIB2_SHM_OPT to enable overriding/testing SHM modes
Add IMLIB2_XIMAGE_CACHE_COUNT to enable testing the ximage cache
Refactor the XImage cache
Add imlib_get_cache_used()
Expose XImage cache control functions
Drop -Waggregate-return
1.5.0.
v1.4.10 - 2017-04-15
--------------------
Kim Woelders (3):
PNM loader: Fix reading PNM bitmaps.
Fix missing break.
1.4.10.
Tobias Stoeckmann (3):
Avoid out of boundary operations while parsing xpm
Properly release resources on error path
Prevent OOB read with large file support on 32 bit
v1.4.9 - 2016-04-29
--------------------
Alexander Smirnov (1):
Fix cross-endianness for masks (1-bit depth images)
Bernhard Übelacker (1):
gif: fix oob reads w/bad colormaps
Kim Woelders (16):
Fix "assuming signed overflow does not occur" warning.
Fix some "variable set but not used" warnings.
Fix some "variable might be clobbered" warnings.
Fix off-by-one OOB read in __imlib_MergeUpdate().
Revert "gif: fix oob reads w/bad colormaps"
GIF loader: Fix out-of-bound reads from colormap.
GIF loader: Remove check made redundant by previous commit.
GIF loader: Reduce progress checks from per-pixel to per-row.
GIF loader: Indent.
Fix potential divide-by-zero in imlib_image_draw_ellipse().
Make a number of functions static.
Eliminate pImlibExternalFilter type.
Trivial file function cleanups.
Move __imlib_ItemInList() to file.c.
Fix various potential OOM crashes.
1.4.9.
Yuriy M. Kaminskiy (3):
Fix integer overflow resulting in insufficient heap allocation
loader_xpm: remove nonsense/impossible/broken condition
Harden API and internals against overly large images
v1.4.8 - 2016-03-12
--------------------
Chloe Kudryavtsev (1):
add time.h include to common.h for time_t
FRIGN (1):
Add a Farbfeld loader
Kim Woelders (4):
Remove redundant config.h.
Add compile to MAINTAINERCLEANFILES.
Indent.
1.4.8.
Quentin Rameau (2):
Fix bz2 loader filename check
Fix zlib loader filename check
v1.4.7 - 2015-04-04
--------------------
Fabian Keil (14):
Prevent division-by-zero crashes
imlib_conv: Use proper buffer size to prevent invalid write of size one
loader_gif: Don't read uninitilized memory in case of invalid input
loader_gif(): Abort gif parsing if DGifGetLine() fails
Fix segfault when opening input/queue/id:000007,src:000000,op:flip1,pos:51 with feh
Make IMAGE_DIMENSIONS_OK() more restrictive
load_pnm: Deal with fread() errors consistently
__imlib_LoadImage(): Additionally check loader_ret to detect loader failures
loader_tga: Abort file loading if the file obviously isn't large enough
imlib_save_image(): Check loader return code for errors
loader_tga.c: Properly signal if decoding uncompressed BGRA data failed
loader_tga.c: Properly signal if decoding RLE compressed data failed
imlib_save_image_with_error_return(): Check loader return code to prevent use of unitialized memor
load_gif: Make sure rows isn't used partly unitialized
Heiko Becker (1):
GIF loader: Fix for libgif version 5.1
Kim Woelders (20):
GIF loader: Fix for libgif version 5.
Remove OS/2 support.
Remove empty format.c/h.
Header file cleanups.
GIF loader: Simplify error handling.
GIF loader: Fix segv on images without colormap.
Revert "__imlib_LoadImage(): Additionally check loader_ret to detect loader failures"
Revert "loader_gif(): Abort gif parsing if DGifGetLine() fails"
JPEG loader: Fix load() return code when only reading header.
BMP loader: Simplify pixel fetch.
Autofoo update (AC_PROG_LIBTOOL -> LT_INIT).
Autofoo macro cleanups (ac_->ec_).
Change a number of internal function names.
Indent.
Don't include Imlib2.h indirectly via image.h.
Remove __hidden.
Enable visibility hiding by default.
Indent the remaining unindented files.
Generate a ChangeLog using git shortlog between existing tags.
1.4.7.
Michał Górny (1):
fix -I flags to support building out-of-source
Mike Frysinger (5):