forked from kohler/gifsicle
-
Notifications
You must be signed in to change notification settings - Fork 0
/
NEWS
1047 lines (606 loc) · 31.8 KB
/
NEWS
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
Gifsicle NEWS
Version 1.78 9.Dec.2013
* Correct an optimization bug introduced in 1.76. Reported by Tom
Roostan.
Version 1.77 26.Nov.2013
* Major improvements to color selection (important when reducing
colormap size). Use gamma-corrected colors in selection and
dithering; this makes image quality much better. Also, when reducing
colors with dithering, prefer to select colors that dithering can't
approximate.
* Add ordered dithering modes, which avoid animation artifacts. The
default ordered dithering mode (`--dither=ordered`) is a novel mode
that combines some of the visual advantages of error diffusion with
the artifact avoidance of ordered dithering.
* Add halftone dithering (`--dither=halftone`).
* gifview: Improved cache memory management for better animations.
Collect memory for old frames based on an explicit --memory-limit
(default 40MB).
* gifview: Add `--fallback-delay` option, to specify a fallback delay
for frames with delay 0. Thanks to Sung Pae.
Version 1.76 20.Nov.2013
* Fix `-O2` crashes introduced with `--resize` improvements. Reported
by Bryan Stillwell.
Version 1.75 18.Nov.2013
* Improve `--careful` (fewer crashes). Reported by Bryan Stillwell.
* Improve `-O2`: again, don't refuse to optimize images with local
color tables. Reported by Bryan Stillwell.
* Greatly improve `--dither` speed.
Version 1.74 16.Nov.2013
* Improve `--resize` behavior: avoid animation artifacts due to
different rounding decisions. Also speed it up. Reported by Bryan
Stillwell.
Version 1.73 15.Nov.2013
* Fix bug where `-O2` would refuse to optimize some images with local
color tables, claiming that "more than 256 colors were required".
What was really required is previous disposal. Reported by Bryan
Stillwell.
Version 1.72 9.Nov.2013
* Fix crash bugs on some combinations of `--crop` and `--resize`
(prevalent on images whose first frame didn't cover the whole
logical screen). Reported by Bryan Stillwell.
Version 1.71 15.Jun.2013
* Avoid rounding errors in `--resize`. Reported by Paul Kane.
* Report error when `-I` is combined with `-b`. Reported by Frank
Dana.
* Frame selections also apply in batch mode. Reported by LOU Yu Hong
Leo.
Version 1.70 31.Jan.2013
* Fix `--crop` bug introduced in version 1.68, visible in images
containing local color tables. Bug reported by Alberto Nannini.
Version 1.69 31.Jan.2013
* Minor bug fix release.
Version 1.68 24.Nov.2012
* gifsicle: Alberto Nannini reported some images that are optimized
beyond what Gifsicle can do. In fact, Gifsicle's GIF writer was
limited enough that even when running without optimization, it
seriously expanded the input images. Some improvements to Gifsicle's
writing procedure avoid this problem; now `gifsicle IMAGE` will
produce large results less often, and when it does generate larger
results, they're larger by hundreds of bytes, not hundreds of
thousands. However, due to restrictions in the current optimizer (and
on my time), I was unable to improve `gifsicle -O3`'s handling of
these images. The optimizer that produced the images must be doing
something pretty clever. (Is it SuperGIF?)
Version 1.67 5.May.2012
* gifsicle: Frame specifications like "#2-0" are allowed; they insert
frames in reverse order. Feature request from Leon Arnott.
* gifview: Add --min-delay option.
Version 1.66 2.Apr.2012
* gifsicle: Add -Okeep-empty for Gerald Johanson.
Version 1.65 2.Apr.2012
* gifsicle: Several users (Kornel Lesiński and others) reported "bugs" with
Gifsicle-optimized images and Mac programs like Safari. The bug is in
Safari, but add --careful to work around it.
* Improve -O3 a bit (although for some images, the new -O3 is bigger than
the old).
Version 1.64 22.Nov.2011
* gifsicle: Add --resize-fit options. Tom Glenne request.
Version 1.63 17.Jul.2011
* gifsicle: Avoid crash on frame selections where frames are repeated.
Werner Lemberg report.
Version 1.62 4.Apr.2011
* gifsicle: -O3 optimization level tries even harder, so that now gifsicle
-O3 should never produce larger results than gifsicle-1.60 -O2. Jernej
Simončič report.
Version 1.61 25.Feb.2011
* gifsicle: Add new -O3 optimization level, which applies several
transparency heuristics and picks the one with the best result. David
Jamroga pointed out a file that gifsicle made larger; -O3 shrinks it.
* gifsicle: Correct some optimizer bugs introduced in 1.59 that could lead
to visually different output.
* gifdiff: Add -w/--ignore-redundancy option.
* gifview: Correct crash bug.
* gifsicle/gifdiff: Correct occasionally odd error messages.
Version 1.60 12.Apr.2010
* GIF reading library: Correct error that could corrupt the reading of
certain large images. Reported by Jernej Simončič.
Version 1.59 11.Mar.2010
* gifsicle -O2: Optimize away entirely-transparent frames when possible.
Requested by Gerald Johanson.
Version 1.58 14.Jan.2010
* gifsicle: Fix optimizer bug reported by Dion Mendel.
Version 1.57 11.Nov.2009
* gifsicle: Don't throw away totally-cropped frames with 0 delay, since
most browsers treat 0-delay frames as 100ms-delay frames. Reported by
Calle Kabo.
Version 1.56 18.Oct.2009
* gifsicle: Fix --crop-transparency for animated images; previous versions
could lose frames. Problem reported by Daniel v. Dombrowski.
* gifview: Make --disposal=background behavior look like Firefox.
Version 1.55 3.Apr.2009
* gifsicle: Another optimize fix for --disposal previous. Reported by
Gerald Johanson.
Version 1.54 3.Apr.2009
* gifsicle, gifview: Fix several serious bugs with --disposal previous that
could affect optimized, unoptimized, and displayed images. Reported by
Gerald Johanson.
Version 1.53 19.Mar.2009
* gifsicle: Frames in an unoptimized image will use disposal "none" when
possible. This leads to fewer surprises later.
Version 1.52 18.May.2008
* gifsicle: Fix bug introduced in 1.51: --crop-transparent works. Reported by
dgdd wanadoo fr.
Version 1.51 12.May.2008
* gifsicle: '--crop' preserves the logical screen when it can. Reported by
Petio Tonev.
Version 1.50 7.May.2008
* gifsicle, gifview: Refuse to read GIFs from the terminal. Requested by
Robert Riebisch.
Version 1.49 2.May.2008
* Just some Makefile updates requested by Robert Riebisch.
Version 1.48 16.Mar.2007
* gifsicle: Avoid crash in '--crop-transparency' when an image's first
frame is totally transparent. Reported by Gerald Johanson.
Version 1.47 10.Mar.2007
* gifsicle: Improve '--nextfile' behavior.
Version 1.46 9.Jan.2007
* gifsicle: Add '--nextfile' option, useful for scripts. Problem reported
by Jason Young.
Version 1.45 30.Dec.2006
* Do not compile gifview by default when X is not available.
* gifview: Add '--title' option, based on patch supplied by Andres Tello
Abrego.
Version 1.44 3.Oct.2005
* gifview: Enforce a minimum delay of 0.002 sec. Requested by Dale Wiles.
Version 1.43 8.Sep.2005
* '-I -b', and other similar combinations, causes a fatal error rather than
putting information in an unexpected file. Reported by Michiel de Bondt.
Version 1.42 8.Jan.2005
* Improve manual page.
Version 1.41 19.Aug.2004
* Fix problems with 64-bit machines. Thanks to Dan Stahlke for pointing
out the problem and providing a patch.
Version 1.40 28.Aug.2003
* Fix longstanding bug where '--disposal=previous' was mistakenly
equivalent to '--disposal=asis'.
* Include Makefile.bcc, from Stephen Schnipsel.
Version 1.39 11.Jul.2003
* Fix Makefile.w32 (oops).
Version 1.38 26.Jun.2003
* Include Makefile.w32 (oops).
Version 1.37 11.Feb.2003
* Fix bug where combining `--rotate-X' and `-O' options would cause a
segmentation fault. Reported by Dan Lasley <[email protected]>.
* Rearrange source tree.
Version 1.36 17.Nov.2002
* Fix subscript-out-of-range error in main.c reported by Andrea Suatoni.
Version 1.35 14.Aug.2002
* Fixed bug where `--crop' could cause a segmentation fault, present since
1.32 or 1.33. Reported by Tom Schumm <[email protected]>.
Version 1.34 13.Aug.2002
* Fixed bug where combining `--crop' and `-O' options could corrupt output.
Reported by Tom Schumm <[email protected]>.
Version 1.33 1.Aug.2002
* Be more careful about time while animating. In particular, prepare frames
before they are needed, so that they can be displayed exactly when
required. Problem reported by Walter Harms <[email protected]>.
* More warning fixes.
Version 1.32 5.Jul.2002
* Add `--multifile' option handling concatenated GIF files. This is useful
for scripts. For example, `gifsicle --multifile -' will merge all GIF
files written to its standard input into a single animation.
* More fixes for spurious background warnings.
Version 1.31 17.Jun.2002
* Changed behavior of `--crop X,Y+WIDTHxHEIGHT' option when WIDTH or HEIGHT
is negative. Previously, zero or negative WIDTH and HEIGHT referred to
the image's entire width or height. Thus, the option `--crop 10,0+0x0'
would always lead to an error, because the crop left position (10) plus
the crop width (the image width) was 10 pixels beyond the image edge. The
new behavior measures zero or negative WIDTH and HEIGHT relative to the
image's bottom-right corner.
* Changed background behavior. Hopefully the only user-visible effect will
be fewer spurious warnings.
* Fixed a bug that could corrupt output when optimizing images with `-O2'
that had more than 256 colors.
Version 1.30 27.Jul.2001
* Fixed bug in ungif code: Writing a large ungif could corrupt memory,
leading eventually to bad output. This bug has been present since
Gifsicle could write ungifs! Bad files and assistance provided by Jeff
Brown <[email protected]>.
Version 1.29 22.May.2001
* Fixed an optimization bug that could produce bad images. Again, reported
by Dale Wiles <[email protected]>. It turns out that 1.26 was a
bad release! I've reconstructed and run some regression tests; hopefully
Dale and I have exhausted the bug stream.
Version 1.28 13.May.2001
* `--colors' option still didn't work; it produced bad images. Again,
thanks to Dale Wiles <[email protected]> for reporting the bug.
* Added explicit `--conserve-memory' option.
Version 1.27 10.May.2001
* Fixed `--colors' option, which caused segmentation faults. Thanks to Dale
Wiles <[email protected]> for reporting the bug.
Version 1.26 22.Apr.2001
* Added `--crop-transparency' option, which crops any transparent edges off
the image. Requested by Gre7g Luterman <[email protected]>.
* Try to conserve memory in gifsicle when working with huge images (> 20
megabytes of uncompressed data). May make gifsicle slower if you actually
had enough memory to deal with the uncompressed data.
Version 1.25 13.Feb.2001
* Fixed gifview bug: If every frame in an animation had a small or
zero delay, then gifview would previously enter a infinite loop and
become noninteractive. Reported by Franc,ois Petitjean
Version 1.24 11.Feb.2001
* Delete `unoptimized_pixmaps' array when deleting a viewer in gifview.
Reported by Franc,ois Petitjean <[email protected]>.
* Added `--resize-width' and `--resize-height' options.
* Why is it that Frenchmen are always telling me to delete the Clp_Parser
immediately before calling exit()? Don't they realize that exit() frees
application memory just as well as free()? Are things different in
France? More French, perhaps?
Version 1.23 12.Dec.2000
* In Houston on a layover because of stupid Continental Airlines: allow
GIFs without terminators. Problem reported by Matt Olech
Version 1.22 23.Nov.2000
* Handle time more carefully when displaying animations. Should result in
more precise timings. Problem reported by Iris Baye <[email protected]>.
Version 1.21 9.Sep.2000
* Fixed `--careful -O2', which could create bad GIFs when there were bad
interactions with transparency. Bug reported by Manfred Schwarb
Version 1.20 23.Jun.2000
* Added `--careful' option, because some bad GIF implementations (Java,
Internet Explorer) don't support Gifsicle's super-optimized, but legal,
GIFs. Problem reported by Andrea Beiser <[email protected]>.
* Gifdiff will work on very large images (better memory usage).
Version 1.19 25.Apr.2000
* Fixed memory corruption bug: `gifsicle --use-colormap=FILE.gif' would
formerly cause a segmentation fault. Bug reported by Alan Watts
Version 1.18 3.Apr.2000
* Gifview now uses X server memory more parsimoniously. This should make it
more robust, and nicer to the X server, on large animations. Requested by
Vladimir Eltsov <[email protected]>. Appears to solve bug reported by
Vince McIntyre <[email protected]>.
* Gifview treats frame selection more sensibly. A frame selection just
tells it which frame to start on.
* Added a message to the manual page warning people to quote the `#'
character in frame selections. The interactive bash shell, for example,
interprets it as a comment.
Version 1.17 15.Mar.2000
* Added `--resize _xH' and `--resize Wx_'. Requested by Edwin Piekart
* Changed behavior of `--no-logical-screen'. Now gifsicle will include all
visible GIFs when calculating the size of the logical screen.
* Got rid of spurious redundant-option warnings.
Version 1.16.1 10.Sep.1999
* Gifview can put a GIF (or an animated GIF) on the root window; use
`gifview -w root'. Requested by Roland Blais <[email protected]>.
Version 1.16 31.Aug.1999
* Optimization improvement: More colormap manipulation. Version 1.16
produces smaller GIFs than 1.15 in the large majority of cases (but not
all).
* Fixed memory corruption bug in quantization. Found and fixed by Steven
Marthouse <[email protected]>.
Version 1.15 20.Aug.1999
* Bug fix: no more assertion failures when combining images that require
local colormaps.
* Fixed serious quantization bug introduced in 1.14: when reducing the
number of colors, gifsicle would ignore a random portion of the colors in
the old colormap.
* Optimization bug fix: two adjacent identical frames will no longer crash
the optimizer. Bug introduced in 1.14. That's two for two: two "speed
improvements" in 1.14, two bugs introduced!
* Bug fix: Exploding the standard input results in files named
`#stdin#.NNN', as the documentation claims, not `<stdin>.NNN'.
* Optimization improvement: the optimizer reorders colormaps in a slightly
smarter way, which can result in smaller compression.
* If a position option like `-p 0,5' is followed by a multi-frame GIF
(without frame specifications), then the position option places the
animation as a whole, not each of its individual frames.
* An unrecognized nonnumeric frame specification is now treated as a file
name, so you can say `gifsicle #stdin#.000', for example.
* Gifview improvements: Now even images with local color tables can be
"unoptimized" or animated.
* `--replace' now preserves the replaced frame's disposal as well as its
delay.
* `gifsicle -I -' reports "<stdin>" as the input file name.
Version 1.14.2 16.Aug.1999
* Fixed memory bug in Gif_DeleteImage (I freed a block of memory, then
accessed it). I am a moron!! This bug affected Version 1.14.1 only.
Version 1.14.1 9.Aug.1999
* Fixed configuration bug: you couldn't compile gifsicle from a different
directory (it told you to try --enable-ungif).
* Steven Marthouse <[email protected]> helped fix `Makefile.w32' to
enable wildcards in filenames under Windows. Requested by Mark Olesen
Version 1.14 2.Aug.1999
* Switched to an adaptive tree strategy for LZW GIF compression, which is
faster than the old hashing strategy. This method is the brainchild of
Hans Dinsen-Hansen <[email protected]>.
* Bug fix/optimization improvement: Some images would include a transparent
index that was not a valid color (it was larger than the colormap).
Gifsicle formerly ignored these transparent indices. It doesn't any
longer; furthermore, it will generate those kinds of transparent index,
which can mean smaller colormaps and smaller GIFs.
* Speed improvements in optimization and colormap quantization.
* Added `--no-warnings' (`-w') option to inhibit warning messages.
Suggested by Andrea Beiser <[email protected]>.
* `--info' output can now be sent to a file with `-o', just as with any
other kind of output.
* More specific error messages on invalid GIFs.
Version 1.13 16.Jun.1999
* Added optional support for run-length-encoded GIFs to avoid patent
problems. Run-length encoding idea based on code by Hutchinson Avenue
Software Corporation <http://www.hasc.com> found in Thomas Boutell's gd
library <http://www.boutell.com>.
* `gifsicle --explode' now generates filenames of the form `file.000 ..
file.100' rather than `file.0 .. file.100', so you can use shell globbing
like `file.*' and automatically get the right order.
* Added `--background' option to gifview, so you can set the color used for
transparent pixels. Suggested by Art Blair <[email protected]>.
* Gifdiff is built by default on Unix.
Version 1.12 25.Mar.1999
* Added `--window' option to gifview, which lets it display a GIF in an
arbitrary X window. Thanks to Larry Smith <[email protected]> for patches.
* Added `--install-colormap' to gifview. Suggested by Yair Lenga
* Gifsicle now exits with status 1 if there were any errors, status 0
otherwise. Before, it exited with status 1 only if there was a fatal error,
or nothing was successfully output. The new behavior seems more useful.
Problem reported by David Kelly <[email protected]>.
Version 1.11.2 10.Mar.1999
* `gifsicle -U' will now unoptimize 1-image GIFs as well as animations.
Version 1.11.1 24.Jan.1999
* Fixed core dump on corrupted GIF files (in particular, bad extensions).
Problem reported by tenthumbs <[email protected]>.
Version 1.11 22.Jan.1999
* Added `--scale XFACTORxYFACTOR' to complement `--resize'.
* Made `--resize' work better on animations (no more off-by-one errors).
* Fixed bug in `--use-colormap': If transparency was added to the new
colormap, the transparent color index could later be used (incorrectly)
as a real image color. This was particularly common if the image was
dithered.
* `--dither' now tries to mitigate "jumping dither" animation artifacts
(where adjacent frames in an animation have different dithering patterns,
so the animation shifts). It does an OK job.
* Improvements to `--color-method=blend-diversity'.
Version 1.10 6.Jan.1999
* Gifview is built by default.
* No other changes from 1.10b1: Emil said it worked on Windows.
Version 1.10b1 31.Dec.1998
* The two malloc packages that come with Gifsicle don't #define `malloc' or
`realloc'; they #define `xmalloc' and `xrealloc'.
* Changes to Windows port from Emil Mikulic <[email protected]>.
Version 1.9.2 28.Dec.1998
* Gifsicle compiles out of the box on Windows! Port maintained by Emil
Mikulic <[email protected]>.
* Moved to config.h-based configuration to simplify GIF library and Windows
port.
* Some CLP improvements.
Version 1.9.1 16.Dec.1998
* If a reduced-colormap image needs a special transparent color, gifsicle
will now try to keep the same transparent color value as the input GIF.
* Cropping an image now automatically recalculates the output logical
screen, rather than retaining the logical screen of the uncropped image.
* Improvement to colormap modification behavior: If it looks like a color
reserved for transparency will be necessary, gifsicle will reserve a slot
for it. This will reduce the likelihood that you ask for a colormap of
size 64, say, and get one of size 128 (because gifsicle added a slot for
transparency).
Version 1.9 14.Dec.1998
* `--no-background' is now the same as `--background=0' (set the background
to pixel 0) instead of `--same-background'.
Version 1.9b3 10.Dec.1998
* Fixed a serious bug in merge.c introduced in 1.8: Merging several images
with global colormaps could corrupt the output colors.
* Fixed a serious bug in optimize.c introduced in 1.9b1: Optimizing GIFs
which required local color tables could crash the program due to a buffer
overrun. (I was adding the background to the output colormap without
making sure there was room for it.)
* Fixed an optimizer bug which could result in incorrect animations:
background disposal was not handled correctly.
* The optimizer now generates `--disposal=none' instead of
`--disposal=asis' in certain situations, which can result in smaller
animations. Suggestion by Markus F.X.J. Oberhumer
* GIF library changes: cleaner, somewhat faster GIF reading code inspired
by Patrick J. Naughton <[email protected]>, whose code is distributed
with XV.
Version 1.9b2 9.Dec.1998
* Fixed `--logical-screen' and `--no-logical-screen', which had no effect
in 1.9b1. In a stunning turn of events, this problem was reported by
Markus F.X.J. Oberhumer <[email protected]>.
Version 1.9b1 5.Dec.1998
* Added `--resize WxH' option, prompted by code from Christian Kumpf
* Made `--change-color PIXELINDEX color' work, and `--change-color color
PIXELINDEX' illegal.
* Many behavior fixes relating to background and transparency. Gifsicle
would tend to create GIFs which looked as expected, but lost information
internally; for example, a color value which was only used for
transparency would be changed to black, no matter what the input color
was. In some cases, gifsicle simply reports a warning now where it
ignored information before. Problems reported by Markus F.X.J. Oberhumer
* Better error messages are now given on redundant, ambiguous, or useless
command-line options.
* Options that affect GIFs on output (such as `--output', `--optimize') now
behave more like other options: you should put them before the files they
affect. (You may still put them at the end of the argument list if they
should affect the last output file.) This should only affect people who
used batch or explode mode in complex ways.
* Gifsicle will not write a GIF to stdout if it's connected to a terminal.
Version 1.8 3.Dec.1998
* Fixed strange behavior when changing transparency: a new black entry was
added to the colormap in almost all situations. Problem reported by
Markus F.X.J. Oberhumer <[email protected]>.
* Fixed `--transform-colormap' bug: commands like "thing 2" (ending in an
integer) will work now.
* Small fixes (in a gifsicle pipeline, error messages won't be interleaved).
Version 1.7.1 2.Dec.1998
* Added configuration check for `strerror'. Problem reported by Mario
Gallotta <[email protected]>.
* Added colormap canonicalization: If you pipe a GIF through `gifsicle -O'
or `-O2', the output colormaps will be arranged in a predictable order.
Feature suggested by Markus F.X.J. Oberhumer
Version 1.7 28.Nov.1998
* Added `--use-colormap=gray' and `--use-colormap=bw'. Idea and some code
thanks to Christian Kumpf <[email protected]>.
* Added `--transform-colormap', which allows you to plug programs into
gifsicle that arbitrarily change GIF files' colormaps.
* All `--change-color' options now happen simultaneously, so you can safely
swap two colors with `--change-color C1 C2 --change-color C2 C1'.
* Colormap modifications are slightly more powerful (they don't reserve a
color for transparency if they don't need one, and if a subset of the
modified colormap is used, only that subset is output).
* Fixed `--use-colormap' bug: the last color in a used colormap would be
ignored (it was reserved for transparency). Symptom: if you put a
partially transparent image into the Web-safe palette, the result would
never contain white.
* When changing to a grayscale colormap, gifsicle now uses luminance
difference to find the closest color. This gives better results for
`--use-colormap=gray' and the like.
* Added Introduction and Concept Index sections to the gifsicle manpage.
* The gifsicle package now uses automake.
Version 1.6 23.Nov.1998
* A frame extracted from the middle of an animation will now have the
animation's screen size rather than 640x480. Problem reported by Mr.
Moose <[email protected]>.
Version 1.5 27.Sep.1998
* `--help' now prints on stdout, as according to the GNU standards.
* Changes to support Win32 port thanks to Emil Mikulic
* Makefiles: Added `make uninstall' target, enabled `./configure's
program name transformations, made VPATH builds possible.
Version 1.4.1 16.Sep.1998
* Fixed `--unoptimize' bug: a frame's transparency could disappear under rare
circumstances. Bug reported by Rodney Brown <[email protected]>
Version 1.4 12.Sep.1998
* Added `--extension' and `--app-extension'.
Version 1.3.4 7.Sep.1998
* More configuration changes.
* Fixed bug in gifview `--geometry' option processing: `--geometry -0-0'
wasn't recognized.
Version 1.3.2 5.Sep.1998
* Fixed configuration bugs reported by Alexander Mai
<[email protected]> (OS/2 build didn't work).
Version 1.3.1 4.Sep.1998
* Fixed configuration bug: int32_t could be improperly redefined. Reported by
Anne "Idiot" Dudfield <[email protected]> and Dax Kelson
Version 1.3 3.Sep.1998
* Added `--flip-*' and `--rotate-*' options.
* Fixed rare bug in GIF writing code: the last pixel in a frame could
previously become corrupted.
Version 1.3b1 2.Aug.1998
* Optimization has been completely overhauled. All optimization functions
are in a separate file, optimize.c. Some bugs have been caught.
Optimization is now quite powerful, and rarely expands any input file.
(An expansion of 1-30 bytes usually means that the input file cheated by
leaving off 'end-of-image' codes, which the standard says must be used.)
People interested in making optimization even better should contact me,
or just go ahead and hack the code. Thanks again to David Hedbor
<[email protected]> for providing test cases.
Specific changes:
- The optimizer can handle any input file, even one with local colormaps or
more than 256 colors. If there are more than 256 colors, an optimal subset
is placed in the global colormap.
- The global colormap is reordered so that some images can use a small
initial portion of it, which lets them compress smaller.
- Bug fix: Images relying on background disposal are optimized correctly.
- `-O2' never does worse than `-O1'.
- Made the `-O2' heuristic better. Some other small changes and
improvements here and there.
- The optimizer has been pretty extensively tested using gifdiff.
* New program: gifdiff compares two GIFs for identical appearance. It is
not built unless you give the `--enable-gifdiff' option to `./configure'.
It's probably not useful unless you're testing a GIF optimizer.
* Robustness fixes in GIF library.
Version 1.2.1 8.Jun.1998
* `--info' now sends information to standard output. `--info --info' still
sends information to standard error.
* `--transparent' didn't work. It does now.
* Added `--background' option. Fixed background processing so that an input
background is reflected in the output GIF.
* Re-fixed small bug with the interaction between per-frame options and
frame selections.
Version 1.2 28.May.1998
* Fixed small bug with the interaction between per-frame options (`--name',
`--comment') and frame selections.
* Fixed bad bug in merge: If a global colormap from the source needed to be
dumped into a local colormap in the destination, the pixel map was wrong,
resulting in bad colors in the destination.
* Fixed memory leaks. Changed memory usage pattern in gifsicle to
release source image memory as soon as possible, resulting in a better
memory profile. Both programs now keep images in compressed form for
better performance.
* Fixed bugs in gifread.c that corrupted memory when uncompressing some bad
images.
* Added debugging malloc library (`./configure --enable-dmalloc' to use it).
* Added `--no-delay' and `--no-disposal' options, which should have been there
all along.
* `--crop' will not generate an image with 0 width or height, even if a
frame is cropped out of existence.
* Other performance improvements.
Version 1.2b6 25.May.1998
* License clarification in README.
* GIF comments are now printed out more carefully in `--info': binary
characters appear as backslash escapes. (Literal backslashes are printed
as `\\'.)
* New `--extension-info/--xinfo' option.
* Removed spurious warning about local colormaps when a `--colors' option
is in effect.
* Replacing a named frame with another image now keeps the name by default.
* Many changes to gifview. Added `--animate', `--display', `--geometry',
`--name', `--help' options, keystrokes, multiple GIFs on the command
line, and a manual page.
Version 1.2b5 12.May.1998
* Longstanding bug fix in gifunopt.c: an interlaced replacement frame
caused strange behavior when later optimizing, as the underlying data
wasn't deinterlaced.
* Further improvements in optimizer; specifically, `-O2' works better now
-- it uses actual image data to look for an unused pixel value when
there's no transparency specified.
Version 1.2b4 12.May.1998
* Improved `--optimize's performance on images where successive frames had
different transparent color indexes.
Version 1.2b3 11.May.1998
* Fixed bugs in `--unoptimize': it would try to unoptimize images with
local color tables and some transparency manipulations could cause a
silent failure (example: 2 colors; frame 0 = [*11], frame 1 = [*0*],
where * is a transparent pixel. Unoptimized, frame 1 should contain [*01]
-- but this can't be expressed with only 2 colors.)
* Greatly improved `--optimize's performance on some images by changing the
way frames were switched to `--disposal=background'. Problem noticed by
David Hedbor <[email protected]>
* Documentation improvements.
* Unrecognized extensions are now passed through without change. The
`--no-extensions' option (currently undocumented) removes all
unrecognized extensions.
* Bug fix in gifview: frame selections now prevent display of entire GIF.
Version 1.2b2 9.May.1998
* Fixed bad dumb bug in gif.h: lack of parens around macro argument
* Changed heuristic for diversity algorithm: never blend if there are 3 colors
or less
* Some optimizations to Floyd-Steinberg code
Version 1.2b1 8.May.1998
* Added colormap options: `--colors', `--color-method', `--dither', and
`--use-colormap'. All this code is in quantize.c.