xref: /aosp_15_r20/external/giflib/NEWS (revision 324bb76b8d05e2a05aa88511fff61cf3f9ca5892)
1*324bb76bSAndroid Build Coastguard Worker			GIFLIB NEWS
2*324bb76bSAndroid Build Coastguard Worker
3*324bb76bSAndroid Build Coastguard WorkerRepository head
4*324bb76bSAndroid Build Coastguard Worker===============
5*324bb76bSAndroid Build Coastguard Worker
6*324bb76bSAndroid Build Coastguard WorkerThis is a point release intended to clear up a couple of CVEs and
7*324bb76bSAndroid Build Coastguard Workerapply point fixes that have been accumulating since 5.2.1 There are a
8*324bb76bSAndroid Build Coastguard Workerfew unresolved (but minor) memory leaks related to design issues in
9*324bb76bSAndroid Build Coastguard Workerthe API that still need to be resolved.
10*324bb76bSAndroid Build Coastguard Worker
11*324bb76bSAndroid Build Coastguard WorkerCode Fixes
12*324bb76bSAndroid Build Coastguard Worker----------
13*324bb76bSAndroid Build Coastguard Worker
14*324bb76bSAndroid Build Coastguard Worker* Fixes for CVE-2023-48161, CVE-2022-28506,
15*324bb76bSAndroid Build Coastguard Worker
16*324bb76bSAndroid Build Coastguard Worker* Address SF issue #138 Documentation for obsolete utilities still installed
17*324bb76bSAndroid Build Coastguard Worker
18*324bb76bSAndroid Build Coastguard Worker* Address SF issue #139: Typo in "LZW image data" page ("110_2 = 4_10")
19*324bb76bSAndroid Build Coastguard Worker
20*324bb76bSAndroid Build Coastguard Worker* Address SF issue #140: Typo in "LZW image data" page ("LWZ")
21*324bb76bSAndroid Build Coastguard Worker
22*324bb76bSAndroid Build Coastguard Worker* Address SF issue #141: Typo in "Bits and bytes" page ("filed")
23*324bb76bSAndroid Build Coastguard Worker
24*324bb76bSAndroid Build Coastguard Worker* Note as already fixed SF issue #143: cannot compile under mingw
25*324bb76bSAndroid Build Coastguard Worker
26*324bb76bSAndroid Build Coastguard Worker* Address SF issue #144: giflib-5.2.1 cannot be build on windows and other platforms using c89
27*324bb76bSAndroid Build Coastguard Worker
28*324bb76bSAndroid Build Coastguard Worker* Address SF issue #145: Remove manual pages installation for binaries that are not installed too
29*324bb76bSAndroid Build Coastguard Worker
30*324bb76bSAndroid Build Coastguard Worker* Address SF issue #146: [PATCH] Limit installed man pages to binaries, move giflib to section 7
31*324bb76bSAndroid Build Coastguard Worker
32*324bb76bSAndroid Build Coastguard Worker* Address SF issue #147 [PATCH] Fixes to doc/whatsinagif/ content
33*324bb76bSAndroid Build Coastguard Worker
34*324bb76bSAndroid Build Coastguard Worker* Address SF issue #148: heap Out of Bound Read in gif2rgb.c:298 DumpScreen2RGB
35*324bb76bSAndroid Build Coastguard Worker
36*324bb76bSAndroid Build Coastguard Worker* Declared no-info on SF issue #150: There is a denial of service vulnerability in GIFLIB 5.2.1
37*324bb76bSAndroid Build Coastguard Worker
38*324bb76bSAndroid Build Coastguard Worker* Declared Won't-fix on SF issue 149: Out of source builds no longer possible
39*324bb76bSAndroid Build Coastguard Worker
40*324bb76bSAndroid Build Coastguard Worker* Address SF issue #151: A heap-buffer-overflow in gif2rgb.c:294:45
41*324bb76bSAndroid Build Coastguard Worker
42*324bb76bSAndroid Build Coastguard Worker* Address SF issue #152: Fix some typos on the html documentation and man pages
43*324bb76bSAndroid Build Coastguard Worker
44*324bb76bSAndroid Build Coastguard Worker* Address SF issue #153: Fix segmentation faults due to non correct checking for args
45*324bb76bSAndroid Build Coastguard Worker
46*324bb76bSAndroid Build Coastguard Worker* Address SF issue #154: Recover the giffilter manual page
47*324bb76bSAndroid Build Coastguard Worker
48*324bb76bSAndroid Build Coastguard Worker* Address SF issue #155: Add gifsponge docs
49*324bb76bSAndroid Build Coastguard Worker
50*324bb76bSAndroid Build Coastguard Worker* Address SF issue #157: An OutofMemory-Exception or Memory Leak in gif2rgb
51*324bb76bSAndroid Build Coastguard Worker
52*324bb76bSAndroid Build Coastguard Worker* Address SF issue #158: There is a null pointer problem in gif2rgb
53*324bb76bSAndroid Build Coastguard Worker
54*324bb76bSAndroid Build Coastguard Worker* Address SF issue #159 A heap-buffer-overflow in GIFLIB5.2.1 DumpScreen2RGB() in gif2rgb.c:298:45
55*324bb76bSAndroid Build Coastguard Worker
56*324bb76bSAndroid Build Coastguard Worker* Address SF issue #163: detected memory leaks in openbsd_reallocarray giflib/openbsd-reallocarray.c
57*324bb76bSAndroid Build Coastguard Worker
58*324bb76bSAndroid Build Coastguard Worker* Address SF issue #164: detected memory leaks in GifMakeMapObject giflib/gifalloc.c
59*324bb76bSAndroid Build Coastguard Worker
60*324bb76bSAndroid Build Coastguard Worker* Address SF issue #166: a read zero page leads segment fault in getarg.c and memory leaks in gif2rgb.c and gifmalloc.c
61*324bb76bSAndroid Build Coastguard Worker
62*324bb76bSAndroid Build Coastguard Worker* Address SF issue #167: Heap-Buffer Overflow during Image Saving in DumpScreen2RGB Function at Line 321 of gif2rgb.c
63*324bb76bSAndroid Build Coastguard Worker
64*324bb76bSAndroid Build Coastguard WorkerVersion 5.2.1
65*324bb76bSAndroid Build Coastguard Worker==============
66*324bb76bSAndroid Build Coastguard Worker
67*324bb76bSAndroid Build Coastguard WorkerThis is the "Maybe I shouldn't have done a release while in surgical recovery" release.
68*324bb76bSAndroid Build Coastguard Worker
69*324bb76bSAndroid Build Coastguard Worker* In gifbuild.c, avoid a core dump on no color map.
70*324bb76bSAndroid Build Coastguard Worker
71*324bb76bSAndroid Build Coastguard Worker* Restore inadvertently removed library version numbers in Makefile.
72*324bb76bSAndroid Build Coastguard Worker
73*324bb76bSAndroid Build Coastguard WorkerVersion 5.2.0
74*324bb76bSAndroid Build Coastguard Worker=============
75*324bb76bSAndroid Build Coastguard Worker
76*324bb76bSAndroid Build Coastguard WorkerThe undocumented and deprecated GifQuantizeBuffer() entry point
77*324bb76bSAndroid Build Coastguard Workerhas been moved to the util library to reduce libgif size and attack
78*324bb76bSAndroid Build Coastguard Workersurface. Applications needing this function are couraged to link the
79*324bb76bSAndroid Build Coastguard Workerutil library or make their own copy.
80*324bb76bSAndroid Build Coastguard Worker
81*324bb76bSAndroid Build Coastguard WorkerThe following obsolete utility programs are no longer installed:
82*324bb76bSAndroid Build Coastguard Workergifecho, giffilter, gifinto, gifsponge. These were either installed in
83*324bb76bSAndroid Build Coastguard Workererror or have been obsolesced by modern image-transformation tools
84*324bb76bSAndroid Build Coastguard Workerlike ImageMagick convert. They may be removed entirely in a future
85*324bb76bSAndroid Build Coastguard Workerrelease.
86*324bb76bSAndroid Build Coastguard Worker
87*324bb76bSAndroid Build Coastguard Worker* Address SourceForge issue #136: Stack-buffer-overflow in gifcolor.c:84
88*324bb76bSAndroid Build Coastguard Worker
89*324bb76bSAndroid Build Coastguard Worker* Address SF bug #134: Giflib fails to slurp significant number of gifs
90*324bb76bSAndroid Build Coastguard Worker
91*324bb76bSAndroid Build Coastguard Worker* Apply SPDX convention for license tagging.
92*324bb76bSAndroid Build Coastguard Worker
93*324bb76bSAndroid Build Coastguard WorkerVersion 5.1.9
94*324bb76bSAndroid Build Coastguard Worker=============
95*324bb76bSAndroid Build Coastguard Worker
96*324bb76bSAndroid Build Coastguard WorkerThe documentation directory now includes an HTMlified version of the
97*324bb76bSAndroid Build Coastguard WorkerGIF89 standard, and a more detailed description of how LZW compression
98*324bb76bSAndroid Build Coastguard Workeris applied to GIFs.
99*324bb76bSAndroid Build Coastguard Worker
100*324bb76bSAndroid Build Coastguard Worker* Address SF bug #129: The latest version of giflib cannot be build on windows.
101*324bb76bSAndroid Build Coastguard Worker
102*324bb76bSAndroid Build Coastguard Worker* Address SF bug #126: Cannot compile giflib using c89
103*324bb76bSAndroid Build Coastguard Worker
104*324bb76bSAndroid Build Coastguard WorkerVersion 5.1.8
105*324bb76bSAndroid Build Coastguard Worker=============
106*324bb76bSAndroid Build Coastguard Worker
107*324bb76bSAndroid Build Coastguard Worker* Address SF bug #119: MemorySanitizer: FPE on unknown address. This is CVE-2019-15133
108*324bb76bSAndroid Build Coastguard Worker
109*324bb76bSAndroid Build Coastguard Worker* Address SF bug #125: 5.1.7: xmlto is still required for tarball
110*324bb76bSAndroid Build Coastguard Worker
111*324bb76bSAndroid Build Coastguard Worker* Address SF bug #124: 5.1.7: ar invocation is not crosscompile compatible
112*324bb76bSAndroid Build Coastguard Worker
113*324bb76bSAndroid Build Coastguard Worker* Address SF bug #122: 5.1.7 installs manpages to wrong directory
114*324bb76bSAndroid Build Coastguard Worker
115*324bb76bSAndroid Build Coastguard Worker* Address SF bug #121: make: getversion: Command not found
116*324bb76bSAndroid Build Coastguard Worker
117*324bb76bSAndroid Build Coastguard Worker* Address SF bug #120: 5.1.7 does not build a proper library - no
118*324bb76bSAndroid Build Coastguard Worker
119*324bb76bSAndroid Build Coastguard WorkerVersion 5.1.7
120*324bb76bSAndroid Build Coastguard Worker=============
121*324bb76bSAndroid Build Coastguard Worker
122*324bb76bSAndroid Build Coastguard WorkerCorrect a minor packaging error (superfluous symlinks) in the 5.1.6 tarballs.
123*324bb76bSAndroid Build Coastguard Worker
124*324bb76bSAndroid Build Coastguard WorkerVersion 5.1.6
125*324bb76bSAndroid Build Coastguard Worker=============
126*324bb76bSAndroid Build Coastguard Worker
127*324bb76bSAndroid Build Coastguard WorkerBuild Fixes
128*324bb76bSAndroid Build Coastguard Worker-----------
129*324bb76bSAndroid Build Coastguard Worker
130*324bb76bSAndroid Build Coastguard WorkerFix library installation in the Makefile.
131*324bb76bSAndroid Build Coastguard Worker
132*324bb76bSAndroid Build Coastguard WorkerVersion 5.1.5
133*324bb76bSAndroid Build Coastguard Worker=============
134*324bb76bSAndroid Build Coastguard Worker
135*324bb76bSAndroid Build Coastguard WorkerCode Fixes
136*324bb76bSAndroid Build Coastguard Worker----------
137*324bb76bSAndroid Build Coastguard Worker
138*324bb76bSAndroid Build Coastguard Worker* Fix SF bug #114: Null dereferences in main() of gifclrmp
139*324bb76bSAndroid Build Coastguard Worker
140*324bb76bSAndroid Build Coastguard Worker* Fix SF bug #113: Heap Buffer Overflow-2 in function DGifDecompressLine()
141*324bb76bSAndroid Build Coastguard Worker  in cgif.c.  This had been assigned CVE-2018-11490.
142*324bb76bSAndroid Build Coastguard Worker
143*324bb76bSAndroid Build Coastguard Worker* Fix SF bug #111: segmentation fault in PrintCodeBlock
144*324bb76bSAndroid Build Coastguard Worker
145*324bb76bSAndroid Build Coastguard Worker* Fix SF bug #109: Segmentation fault of giftool reading a crafted file
146*324bb76bSAndroid Build Coastguard Worker
147*324bb76bSAndroid Build Coastguard Worker* Fix SF bug #107: Floating point exception in giftext utility
148*324bb76bSAndroid Build Coastguard Worker
149*324bb76bSAndroid Build Coastguard Worker* Fix SF bug #105: heap buffer overflow in DumpScreen2RGB in gif2rgb.c:317
150*324bb76bSAndroid Build Coastguard Worker
151*324bb76bSAndroid Build Coastguard Worker* Fix SF bug #104: Ineffective bounds check in DGifSlurp
152*324bb76bSAndroid Build Coastguard Worker
153*324bb76bSAndroid Build Coastguard Worker^ Fix SF bug #103: GIFLIB 5.1.4: DGifSlurp fails on empty comment
154*324bb76bSAndroid Build Coastguard Worker
155*324bb76bSAndroid Build Coastguard Worker* Fix SF bug #87: Heap buffer overflow in 5.1.2 (gif2rgb).
156*324bb76bSAndroid Build Coastguard Worker
157*324bb76bSAndroid Build Coastguard WorkerBuild Fixes
158*324bb76bSAndroid Build Coastguard Worker-----------
159*324bb76bSAndroid Build Coastguard Worker
160*324bb76bSAndroid Build Coastguard WorkerThe horrible old autoconf build system has been removed with extreme prejudice.
161*324bb76bSAndroid Build Coastguard WorkerYou now build this simply by running "make" from the top-level directory.
162*324bb76bSAndroid Build Coastguard Worker
163*324bb76bSAndroid Build Coastguard WorkerVersion 5.1.4
164*324bb76bSAndroid Build Coastguard Worker=============
165*324bb76bSAndroid Build Coastguard Worker
166*324bb76bSAndroid Build Coastguard WorkerCode Fixes
167*324bb76bSAndroid Build Coastguard Worker----------
168*324bb76bSAndroid Build Coastguard Worker
169*324bb76bSAndroid Build Coastguard Worker* Fix SF bug #94: giflib 5 loves to fail to load images... a LOT.
170*324bb76bSAndroid Build Coastguard Worker
171*324bb76bSAndroid Build Coastguard Worker* Fix SF Bug #92: Fix buffer overread in gifbuild.
172*324bb76bSAndroid Build Coastguard Worker
173*324bb76bSAndroid Build Coastguard Worker* Fix SF Bug #93: Add bounds check in gifbuild netscape2.0 path
174*324bb76bSAndroid Build Coastguard Worker
175*324bb76bSAndroid Build Coastguard Worker* Fix SF Bug #89: Fix buffer overread in gifbuild.
176*324bb76bSAndroid Build Coastguard Worker
177*324bb76bSAndroid Build Coastguard WorkerVersion 5.1.3
178*324bb76bSAndroid Build Coastguard Worker=============
179*324bb76bSAndroid Build Coastguard Worker
180*324bb76bSAndroid Build Coastguard WorkerAs of this version the library and code has been seriously abused by fuzzers,
181*324bb76bSAndroid Build Coastguard Workersmoking out crash bugs (now fixed) induced by various kinds of severely
182*324bb76bSAndroid Build Coastguard Workermalformed GIF.
183*324bb76bSAndroid Build Coastguard Worker
184*324bb76bSAndroid Build Coastguard WorkerCode Fixes
185*324bb76bSAndroid Build Coastguard Worker----------
186*324bb76bSAndroid Build Coastguard Worker
187*324bb76bSAndroid Build Coastguard Worker* Prevent malloc randomess from causing the header output routine to emit
188*324bb76bSAndroid Build Coastguard Worker  a GIF89 version string even when no GIF89 features are present. Only
189*324bb76bSAndroid Build Coastguard Worker  breaks tests, not production code, but it's odd this wasn't caught sooner.
190*324bb76bSAndroid Build Coastguard Worker
191*324bb76bSAndroid Build Coastguard Worker* Prevent malloc randomess from producing sporadic failures by causing
192*324bb76bSAndroid Build Coastguard Worker  sanity checks added in 5.1.2 to misfire.
193*324bb76bSAndroid Build Coastguard Worker
194*324bb76bSAndroid Build Coastguard Worker* Bulletproof gif2rgb against 0-height images. Addressed SF bug #78:
195*324bb76bSAndroid Build Coastguard Worker  Heap overflow in gif2rgb with images of size 0, also SF bug #82.
196*324bb76bSAndroid Build Coastguard Worker
197*324bb76bSAndroid Build Coastguard Worker* Remove unnecessary duplicate EGifClose() in gifcolor.c. Fixes SF bug #83
198*324bb76bSAndroid Build Coastguard Worker  introduced in 5.1.2.
199*324bb76bSAndroid Build Coastguard Worker
200*324bb76bSAndroid Build Coastguard Worker* Fix SF Bug #84: incorrect return of DGifSlurp().
201*324bb76bSAndroid Build Coastguard Worker
202*324bb76bSAndroid Build Coastguard WorkerVersion 5.1.2
203*324bb76bSAndroid Build Coastguard Worker=============
204*324bb76bSAndroid Build Coastguard Worker
205*324bb76bSAndroid Build Coastguard WorkerCode Fixes
206*324bb76bSAndroid Build Coastguard Worker----------
207*324bb76bSAndroid Build Coastguard Worker
208*324bb76bSAndroid Build Coastguard Worker* Code hardening using reallocarray() from OpenBSD.
209*324bb76bSAndroid Build Coastguard Worker
210*324bb76bSAndroid Build Coastguard Worker* Sanity check in giffilter catches files with malformed extension records
211*324bb76bSAndroid Build Coastguard Worker  Fixes SourceForge bug #63: malformed gif causes segfault in giffilter.
212*324bb76bSAndroid Build Coastguard Worker
213*324bb76bSAndroid Build Coastguard Worker* Inexpensive sanity check in DGifSlurp() catches malformed files with
214*324bb76bSAndroid Build Coastguard Worker  no image descriptor. Fixes SourceForge bug #64: malformed gif causes
215*324bb76bSAndroid Build Coastguard Worker  crash in giftool.
216*324bb76bSAndroid Build Coastguard Worker
217*324bb76bSAndroid Build Coastguard Worker* Fix SourceForge bug #66: GifDrawBoxedText8x8() modifying constant input
218*324bb76bSAndroid Build Coastguard Worker  parameter.
219*324bb76bSAndroid Build Coastguard Worker
220*324bb76bSAndroid Build Coastguard Worker* Bail out of GIF read on invalid pixel width. Addresses Savannah bug
221*324bb76bSAndroid Build Coastguard Worker  #67: invalid shift in dgif_lib.c
222*324bb76bSAndroid Build Coastguard Worker
223*324bb76bSAndroid Build Coastguard Worker* Fix SourceForge bug #69: #69 Malformed: Gif file with no extension
224*324bb76bSAndroid Build Coastguard Worker  block after a GRAPHICS_EXT_FUNC_CODE extension causes segfault (in
225*324bb76bSAndroid Build Coastguard Worker  giftext).
226*324bb76bSAndroid Build Coastguard Worker
227*324bb76bSAndroid Build Coastguard Worker* Fix SourceForge bug #71: Buffer overwrite when giffixing a malformed gif.
228*324bb76bSAndroid Build Coastguard Worker
229*324bb76bSAndroid Build Coastguard Worker* Fix SourceForge bug #73: Null pointer deference in gifclrmap (only
230*324bb76bSAndroid Build Coastguard Worker  reachable with malformed GIF).
231*324bb76bSAndroid Build Coastguard Worker
232*324bb76bSAndroid Build Coastguard Worker* Fix SourceForge bug #74: Double free in gifsponge under 5.1.1,
233*324bb76bSAndroid Build Coastguard Worker  for any valid gif image.
234*324bb76bSAndroid Build Coastguard Worker
235*324bb76bSAndroid Build Coastguard Worker* Fix SourceForge bug #75: GAGetArgs overflows due to uncounted use of va_arg.
236*324bb76bSAndroid Build Coastguard Worker
237*324bb76bSAndroid Build Coastguard Worker* Sanity check in giffix catches some malformed files. Addresses
238*324bb76bSAndroid Build Coastguard Worker  SourceForge bug #77: dgif_lib.c: extension processing error
239*324bb76bSAndroid Build Coastguard Worker
240*324bb76bSAndroid Build Coastguard Worker
241*324bb76bSAndroid Build Coastguard WorkerVersion 5.1.1
242*324bb76bSAndroid Build Coastguard Worker=============
243*324bb76bSAndroid Build Coastguard Worker
244*324bb76bSAndroid Build Coastguard WorkerCode Fixes
245*324bb76bSAndroid Build Coastguard Worker----------
246*324bb76bSAndroid Build Coastguard Worker
247*324bb76bSAndroid Build Coastguard Worker* Numerous minor fixes in getarg.c. Affects only the utilities, not the
248*324bb76bSAndroid Build Coastguard Worker  core library.
249*324bb76bSAndroid Build Coastguard Worker
250*324bb76bSAndroid Build Coastguard Worker* Fix SourceForge bug #59: DGifOpen can segfault if DGifGetScreenDesc fails.
251*324bb76bSAndroid Build Coastguard Worker
252*324bb76bSAndroid Build Coastguard Worker* SourceForge patch #20: In gifalloc, fix usage of realloc() in case of failure.
253*324bb76bSAndroid Build Coastguard Worker
254*324bb76bSAndroid Build Coastguard Worker* Fix SourceForge bug #61 Leak in gifsponge.
255*324bb76bSAndroid Build Coastguard Worker
256*324bb76bSAndroid Build Coastguard WorkerBuild Fixes
257*324bb76bSAndroid Build Coastguard Worker----------
258*324bb76bSAndroid Build Coastguard Worker
259*324bb76bSAndroid Build Coastguard Worker* glibtoolize port fix for OS X.
260*324bb76bSAndroid Build Coastguard Worker
261*324bb76bSAndroid Build Coastguard WorkerVersion 5.1.0
262*324bb76bSAndroid Build Coastguard Worker=============
263*324bb76bSAndroid Build Coastguard Worker
264*324bb76bSAndroid Build Coastguard WorkerChanges to the API require a library major-version bump.
265*324bb76bSAndroid Build Coastguard Worker
266*324bb76bSAndroid Build Coastguard WorkerCode Fixes
267*324bb76bSAndroid Build Coastguard Worker----------
268*324bb76bSAndroid Build Coastguard Worker
269*324bb76bSAndroid Build Coastguard Worker* A small change to the API: DGifClose() and EGifClose() now take a
270*324bb76bSAndroid Build Coastguard Worker  pointer-to-int second argument (like the corresponding openers)
271*324bb76bSAndroid Build Coastguard Worker  where a diagnostic code will be deposited when they return
272*324bb76bSAndroid Build Coastguard Worker  GIF_ERROR.  This replaces the old behavior in which the GifFile
273*324bb76bSAndroid Build Coastguard Worker  structure was left unfreed so the Error member in it could be filled
274*324bb76bSAndroid Build Coastguard Worker  and remain available.  The change was was required because it's
275*324bb76bSAndroid Build Coastguard Worker  not always possible to free the struct afterwards. Case in point is
276*324bb76bSAndroid Build Coastguard Worker  a C# wrapper for giflib (or any language/environment where you can't
277*324bb76bSAndroid Build Coastguard Worker  just free objects allocated in a foreign shared library.)
278*324bb76bSAndroid Build Coastguard Worker
279*324bb76bSAndroid Build Coastguard Worker* Minor fix for SF bug #56; BitsPerPixel may be left as uninitialized
280*324bb76bSAndroid Build Coastguard Worker  value when reading (truncated) gif.
281*324bb76bSAndroid Build Coastguard Worker
282*324bb76bSAndroid Build Coastguard Worker* Applied SF patch #17: Use a fallback on Windows where mkstemp is not
283*324bb76bSAndroid Build Coastguard Worker  available.
284*324bb76bSAndroid Build Coastguard Worker
285*324bb76bSAndroid Build Coastguard Worker* Applied SF patch #15: Code hardening, preventing spurious
286*324bb76bSAndroid Build Coastguard Worker  defective-image messages.
287*324bb76bSAndroid Build Coastguard Worker
288*324bb76bSAndroid Build Coastguard WorkerRetirements
289*324bb76bSAndroid Build Coastguard Worker-----------
290*324bb76bSAndroid Build Coastguard Worker
291*324bb76bSAndroid Build Coastguard Worker* Removed gif2raw from utils. Its blithe assumption that the EGA16
292*324bb76bSAndroid Build Coastguard Worker  palette is a reliable default is now about 20 years obsolete. Format
293*324bb76bSAndroid Build Coastguard Worker  conversion is better done with convert(1) from the ImageMagick suite,
294*324bb76bSAndroid Build Coastguard Worker  anyway.
295*324bb76bSAndroid Build Coastguard Worker
296*324bb76bSAndroid Build Coastguard WorkerVersion 5.0.6
297*324bb76bSAndroid Build Coastguard Worker=============
298*324bb76bSAndroid Build Coastguard Worker
299*324bb76bSAndroid Build Coastguard WorkerMinor fix for a rare memory leak (SF bug #55).
300*324bb76bSAndroid Build Coastguard Worker
301*324bb76bSAndroid Build Coastguard WorkerMinGW port fixes.
302*324bb76bSAndroid Build Coastguard Worker
303*324bb76bSAndroid Build Coastguard WorkerRepair the internal quantization function used in gif2rgb so it's
304*324bb76bSAndroid Build Coastguard Workerless vulnerable to cross-platform skew due to qsort() being unstable.
305*324bb76bSAndroid Build Coastguard WorkerThis shouldn't affect production use, it's just a cross-platform
306*324bb76bSAndroid Build Coastguard Workerissue for regression testing
307*324bb76bSAndroid Build Coastguard Worker
308*324bb76bSAndroid Build Coastguard WorkerVersion 5.0.5
309*324bb76bSAndroid Build Coastguard Worker=============
310*324bb76bSAndroid Build Coastguard Worker
311*324bb76bSAndroid Build Coastguard WorkerSet the error return properly when a screen descriptor read fails.
312*324bb76bSAndroid Build Coastguard WorkerFixes for some minor API documentation bugs. Some internal manual
313*324bb76bSAndroid Build Coastguard Workerpages are not to be installed.
314*324bb76bSAndroid Build Coastguard Worker
315*324bb76bSAndroid Build Coastguard WorkerVersion 5.0.4
316*324bb76bSAndroid Build Coastguard Worker=============
317*324bb76bSAndroid Build Coastguard Worker
318*324bb76bSAndroid Build Coastguard WorkerFix for a rare misrendering bug when a GIF overruns the decompression-code
319*324bb76bSAndroid Build Coastguard Workertable. The image on which this was spotted was a relatively long-running
320*324bb76bSAndroid Build Coastguard Workeranimated GIF; still images of ordinary size should have been immune.
321*324bb76bSAndroid Build Coastguard Worker
322*324bb76bSAndroid Build Coastguard WorkerVersion 5.0.3
323*324bb76bSAndroid Build Coastguard Worker=============
324*324bb76bSAndroid Build Coastguard Worker
325*324bb76bSAndroid Build Coastguard WorkerFix a build-system glitch so it will install manpages.
326*324bb76bSAndroid Build Coastguard Worker
327*324bb76bSAndroid Build Coastguard WorkerVersion 5.0.2
328*324bb76bSAndroid Build Coastguard Worker=============
329*324bb76bSAndroid Build Coastguard Worker
330*324bb76bSAndroid Build Coastguard WorkerDocumentation and polish
331*324bb76bSAndroid Build Coastguard Worker------------------------
332*324bb76bSAndroid Build Coastguard Worker* Partial build is now possible on systems without xmlto.
333*324bb76bSAndroid Build Coastguard Worker
334*324bb76bSAndroid Build Coastguard WorkerCode Fixes
335*324bb76bSAndroid Build Coastguard Worker----------
336*324bb76bSAndroid Build Coastguard Worker* Change unused return of EGifSetGifVersion() to void.
337*324bb76bSAndroid Build Coastguard Worker* Buffer overrun prevention in gifinto.
338*324bb76bSAndroid Build Coastguard Worker
339*324bb76bSAndroid Build Coastguard WorkerVersion 5.0.1
340*324bb76bSAndroid Build Coastguard Worker=============
341*324bb76bSAndroid Build Coastguard Worker
342*324bb76bSAndroid Build Coastguard WorkerDocumentation and polish
343*324bb76bSAndroid Build Coastguard Worker------------------------
344*324bb76bSAndroid Build Coastguard Worker* There is now an installable manual page for the GIFLIB utility kit.
345*324bb76bSAndroid Build Coastguard Worker
346*324bb76bSAndroid Build Coastguard WorkerRetirements
347*324bb76bSAndroid Build Coastguard Worker-----------
348*324bb76bSAndroid Build Coastguard Worker* gifinter is gone.  Use "convert -interlace line" from the ImageMagick suite.
349*324bb76bSAndroid Build Coastguard Worker
350*324bb76bSAndroid Build Coastguard WorkerCode Fixes
351*324bb76bSAndroid Build Coastguard Worker----------
352*324bb76bSAndroid Build Coastguard Worker* In 5.0.0 the private gif89 bit wasn't being guaranteed cleared at
353*324bb76bSAndroid Build Coastguard Worker  the beginning of EGifGetGifVersion(); this occasionally led to an
354*324bb76bSAndroid Build Coastguard Worker  incorrect version prefix being issued dependent on the state of
355*324bb76bSAndroid Build Coastguard Worker  malloced memory.
356*324bb76bSAndroid Build Coastguard Worker* An EGifSetGifVersion() function taking a GifFile argument has been
357*324bb76bSAndroid Build Coastguard Worker  added for use with the low-level sequential API. This change requires
358*324bb76bSAndroid Build Coastguard Worker  a bump of the library revision number.
359*324bb76bSAndroid Build Coastguard Worker
360*324bb76bSAndroid Build Coastguard WorkerVersion 5.0.0
361*324bb76bSAndroid Build Coastguard Worker=============
362*324bb76bSAndroid Build Coastguard Worker
363*324bb76bSAndroid Build Coastguard WorkerChanges to the API require a library major-version bump. Certain
364*324bb76bSAndroid Build Coastguard Workerinitialization functions have acquired an integer address argument for
365*324bb76bSAndroid Build Coastguard Workerpassing back an error code, in order to avoid thread-unsafe static
366*324bb76bSAndroid Build Coastguard Workerstorage. Application code using extension blocks will require minor
367*324bb76bSAndroid Build Coastguard Workerchanges. A few functions have been renamed.
368*324bb76bSAndroid Build Coastguard Worker
369*324bb76bSAndroid Build Coastguard WorkerCode Fixes
370*324bb76bSAndroid Build Coastguard Worker----------
371*324bb76bSAndroid Build Coastguard Worker* Fixes applied for CVE-2005-2974 and CVE-2005-3350
372*324bb76bSAndroid Build Coastguard Worker  This closes Debian bug #337972.
373*324bb76bSAndroid Build Coastguard Worker
374*324bb76bSAndroid Build Coastguard WorkerNew API Features
375*324bb76bSAndroid Build Coastguard Worker----------------
376*324bb76bSAndroid Build Coastguard Worker
377*324bb76bSAndroid Build Coastguard WorkerThread Safety
378*324bb76bSAndroid Build Coastguard Worker~~~~~~~~~~~~~
379*324bb76bSAndroid Build Coastguard WorkerThe library is now completely re-entrant and thread-safe.
380*324bb76bSAndroid Build Coastguard Worker
381*324bb76bSAndroid Build Coastguard Worker* Library error handling no longer uses a static cell to store the last
382*324bb76bSAndroid Build Coastguard Worker  error code registered; that made the library thread-unsafe.  For functions
383*324bb76bSAndroid Build Coastguard Worker  other than GIF file openers, the code is now put in an Error member of
384*324bb76bSAndroid Build Coastguard Worker  the GifFileType structure.  The GifError() and GifLastError() functions
385*324bb76bSAndroid Build Coastguard Worker  that referenced that static cell are gone, and the GifErrorString()
386*324bb76bSAndroid Build Coastguard Worker  function introduced in the 4.2 release now takes an explicit error code
387*324bb76bSAndroid Build Coastguard Worker  argument.
388*324bb76bSAndroid Build Coastguard Worker* GIF file openers - DGifOpenFileName(), DGifOpenFileHandle(), DGifOpen(),
389*324bb76bSAndroid Build Coastguard Worker  EGifOpenFileName(), EGifOpenFileHandle(), and EGifOpen() - all now take
390*324bb76bSAndroid Build Coastguard Worker  a final integer address argument.  If non-null, this is used to pass
391*324bb76bSAndroid Build Coastguard Worker  back an error code when the function returns NULL.
392*324bb76bSAndroid Build Coastguard Worker
393*324bb76bSAndroid Build Coastguard WorkerExtensions
394*324bb76bSAndroid Build Coastguard Worker~~~~~~~~~~
395*324bb76bSAndroid Build Coastguard WorkerThe ExtensionBlock API has been repaired, solving some problems with GIF89
396*324bb76bSAndroid Build Coastguard Workerextension handling in earlier versions.
397*324bb76bSAndroid Build Coastguard Worker
398*324bb76bSAndroid Build Coastguard Worker* DGifSlurp() and EGifSpew() now preserve trailing extension blocks with
399*324bb76bSAndroid Build Coastguard Worker  no following image file.
400*324bb76bSAndroid Build Coastguard Worker* Three documented functions - EGifPutExtensionFirst(), EGifPutExtensionNext(),
401*324bb76bSAndroid Build Coastguard Worker  and EGifPutExtensionLast() - have been relaced by new functions
402*324bb76bSAndroid Build Coastguard Worker  EGifPutExtensionLeader(), EGifPutExtensionBlock(), and
403*324bb76bSAndroid Build Coastguard Worker  EGifPutExtensionTrailer().  See the Compatibility section of
404*324bb76bSAndroid Build Coastguard Worker  the library API documentation for details.
405*324bb76bSAndroid Build Coastguard Worker* New functions DGifSavedExtensionToGCB() and EGifGCBToSavedExtension()
406*324bb76bSAndroid Build Coastguard Worker  make it easy to read and edit GIF89 graphics control blocks in saved images.
407*324bb76bSAndroid Build Coastguard Worker
408*324bb76bSAndroid Build Coastguard WorkerNamespacing
409*324bb76bSAndroid Build Coastguard Worker~~~~~~~~~~~
410*324bb76bSAndroid Build Coastguard WorkerAll functions exported by giflib now have DGif, EGif, or Gif as a name prefix.
411*324bb76bSAndroid Build Coastguard Worker
412*324bb76bSAndroid Build Coastguard Worker* Three documented functions - MakeMapObject(), FreeMapObject(), and
413*324bb76bSAndroid Build Coastguard Worker  UnionColorMap() - have been renamed to GifMakeMapObject(),
414*324bb76bSAndroid Build Coastguard Worker  GifFreeMapObject(), and GifUnionColorMap() respectively.
415*324bb76bSAndroid Build Coastguard Worker* The library Draw* functions are now prefixed GifDraw*, and the
416*324bb76bSAndroid Build Coastguard Worker  text-drawing ones are suffixed with "8x8". This fixes a conflict
417*324bb76bSAndroid Build Coastguard Worker  with the Windows API and leaves the door open for more general text-drawing
418*324bb76bSAndroid Build Coastguard Worker  functions with different font sizes.
419*324bb76bSAndroid Build Coastguard Worker
420*324bb76bSAndroid Build Coastguard WorkerOther changes
421*324bb76bSAndroid Build Coastguard Worker~~~~~~~~~~~~~
422*324bb76bSAndroid Build Coastguard Worker* DGifSlurp() and EGifSpew() now read and write interlaced images properly.
423*324bb76bSAndroid Build Coastguard Worker* The amazingly obscure colormap sort flag and pixel aspect ratio
424*324bb76bSAndroid Build Coastguard Worker  features of GIF are now read and preserved, for whatever good that
425*324bb76bSAndroid Build Coastguard Worker  may do.
426*324bb76bSAndroid Build Coastguard Worker* Six undocumented functions have been renamed; five of these take additional
427*324bb76bSAndroid Build Coastguard Worker  or slightly different argument types. See the Compatibility section of
428*324bb76bSAndroid Build Coastguard Worker  the library API documentation for details.
429*324bb76bSAndroid Build Coastguard Worker* There's now an EGifGetGifVersion() that computes the version EGifSpew()
430*324bb76bSAndroid Build Coastguard Worker  will write.
431*324bb76bSAndroid Build Coastguard Worker* QuantizeBuffer() has been returned to the core library as GifQuantizeBuffer()
432*324bb76bSAndroid Build Coastguard Worker  - turns out some important applications (notably mplayer) were using it.
433*324bb76bSAndroid Build Coastguard Worker* TRUE and FALSE macros are gone, also VoidPtr.  No more namespace pollution.
434*324bb76bSAndroid Build Coastguard Worker* Various arguments have been made const where possible.
435*324bb76bSAndroid Build Coastguard Worker
436*324bb76bSAndroid Build Coastguard WorkerRetirements
437*324bb76bSAndroid Build Coastguard Worker-----------
438*324bb76bSAndroid Build Coastguard Worker* The (undocumented) gifinfo utility is gone.  Use giftool -f instead.
439*324bb76bSAndroid Build Coastguard Worker* The gifburst utility is gone.  Everybody has image viewers that
440*324bb76bSAndroid Build Coastguard Worker  can pan now, and removing it gets rid of a dependency on Perl.
441*324bb76bSAndroid Build Coastguard Worker* gifcompose is gone.  It was a decent idea when I wrote it in 1989,
442*324bb76bSAndroid Build Coastguard Worker  but I did the same thing better and cleaner a decade later with
443*324bb76bSAndroid Build Coastguard Worker  PILdriver in the PIL package. Removing it gets rid of a dependency
444*324bb76bSAndroid Build Coastguard Worker  on shell.
445*324bb76bSAndroid Build Coastguard Worker* gif2x11 gifasm, gifcomb, gifflip, gifovly, gifpos, gifresize, and gifrotate
446*324bb76bSAndroid Build Coastguard Worker  are all gone.  The ImageMagick display(1)/convert(1) utilities and PILdriver
447*324bb76bSAndroid Build Coastguard Worker  do these things better and in a format-independent way.
448*324bb76bSAndroid Build Coastguard Worker* Lennie Araki's Windows C++ wrapper is gone. It's eight years old,
449*324bb76bSAndroid Build Coastguard Worker  unmaintained, he has dropped out of sight, and a better one needs to
450*324bb76bSAndroid Build Coastguard Worker  be written to use the high-level GIFLIB API and GIF89 graphics
451*324bb76bSAndroid Build Coastguard Worker  control extension support.  We'll carry such a wrapper when we have
452*324bb76bSAndroid Build Coastguard Worker  a maintainer for it.
453*324bb76bSAndroid Build Coastguard Worker* EGifSetVersion(), introduced in 4.2, is gone. The library always
454*324bb76bSAndroid Build Coastguard Worker  writes GIF87 or GIF89 as required by the data. This change helps
455*324bb76bSAndroid Build Coastguard Worker  with thread safety.
456*324bb76bSAndroid Build Coastguard Worker
457*324bb76bSAndroid Build Coastguard WorkerUtilities
458*324bb76bSAndroid Build Coastguard Worker---------
459*324bb76bSAndroid Build Coastguard Worker* Several utilities have been renamed to (a) fix last-century's habit
460*324bb76bSAndroid Build Coastguard Worker  of arbitarily smashing vowels out of names to make them just one or two
461*324bb76bSAndroid Build Coastguard Worker  characters shorter, (b) ensure that every utility in this set has 'gif'
462*324bb76bSAndroid Build Coastguard Worker  as a name prefix. Here's the list:
463*324bb76bSAndroid Build Coastguard Worker
464*324bb76bSAndroid Build Coastguard Worker	giffiltr -> giffilter
465*324bb76bSAndroid Build Coastguard Worker	gifspnge -> gifsponge
466*324bb76bSAndroid Build Coastguard Worker	icon2gif -> gifbuild
467*324bb76bSAndroid Build Coastguard Worker	text2gif -> gifecho
468*324bb76bSAndroid Build Coastguard Worker  	raw2gif  -> gif2raw
469*324bb76bSAndroid Build Coastguard Worker
470*324bb76bSAndroid Build Coastguard Worker* To go with its new name, gif2raw now dumps raw pixels from a GIF if the
471*324bb76bSAndroid Build Coastguard Worker  (previously required) size option is missing.
472*324bb76bSAndroid Build Coastguard Worker* Standalone rgb2gif is gone; the same capability is now a mode of gif2rgb.
473*324bb76bSAndroid Build Coastguard Worker* giftext displays the parsed contents of GIF89 graphics control blocks.
474*324bb76bSAndroid Build Coastguard Worker* gifbuild handles GIF89 graphics control blocks and Netscape animation
475*324bb76bSAndroid Build Coastguard Worker  loop blocks; it can can display and update either.
476*324bb76bSAndroid Build Coastguard Worker* gifrotate and other filter utilities now preserve extension blocks,
477*324bb76bSAndroid Build Coastguard Worker  including the graphics control information for transparency and delay time.
478*324bb76bSAndroid Build Coastguard Worker* A new utility, giftool, supports a wide variety of filtering operations
479*324bb76bSAndroid Build Coastguard Worker  on GIFs, including: setting background and transparency colors, changing
480*324bb76bSAndroid Build Coastguard Worker  interlacing, setting image delays, setting the user-input flag, and setting
481*324bb76bSAndroid Build Coastguard Worker  the aspect-ratio byte.  It can sequence multiple operations.
482*324bb76bSAndroid Build Coastguard Worker* The test-pattern generators gifbg, gifcolor, gihisto and gifwedge and the
483*324bb76bSAndroid Build Coastguard Worker  code templates giffilter and gifsponge are no longer installed by default.
484*324bb76bSAndroid Build Coastguard Worker
485*324bb76bSAndroid Build Coastguard WorkerDocumentation and polish
486*324bb76bSAndroid Build Coastguard Worker------------------------
487*324bb76bSAndroid Build Coastguard Worker* The history.txt and build.txt and files from 4.2.0 now have .asc extensions
488*324bb76bSAndroid Build Coastguard Worker  to indicate that they use asciidoc markup, contrasting with the txt
489*324bb76bSAndroid Build Coastguard Worker  standards files from CompuServe.
490*324bb76bSAndroid Build Coastguard Worker* The documentation now includes "What's In A GIF", a very detailed narrative
491*324bb76bSAndroid Build Coastguard Worker  description of the file format.
492*324bb76bSAndroid Build Coastguard Worker* The -A option of gifasm (for inserting a loop control block) is documented.
493*324bb76bSAndroid Build Coastguard Worker* The documentation directory includes a copy of the original GIF87
494*324bb76bSAndroid Build Coastguard Worker  specification as well as GIF89's.
495*324bb76bSAndroid Build Coastguard Worker* The project now has a logo.
496*324bb76bSAndroid Build Coastguard Worker
497*324bb76bSAndroid Build Coastguard WorkerVersion 4.2.0
498*324bb76bSAndroid Build Coastguard Worker=============
499*324bb76bSAndroid Build Coastguard Worker
500*324bb76bSAndroid Build Coastguard WorkerNow maintained by ESR again after handoff by Toshio Kuratomi.
501*324bb76bSAndroid Build Coastguard Worker
502*324bb76bSAndroid Build Coastguard WorkerCode Fixes
503*324bb76bSAndroid Build Coastguard Worker----------
504*324bb76bSAndroid Build Coastguard Worker* Code updated internally to C99 to enable more correctness checks by
505*324bb76bSAndroid Build Coastguard Worker  the compiler. Compiles under GCC 4.6.1 without errors or warnings.
506*324bb76bSAndroid Build Coastguard Worker* A rare resource leak in the colormap-object maker was found with
507*324bb76bSAndroid Build Coastguard Worker  Coverity and fixed.
508*324bb76bSAndroid Build Coastguard Worker* The code now audits clean under Coverity and cppcheck.
509*324bb76bSAndroid Build Coastguard Worker* splint cleanup begun, there's a lot of work still to do on this.
510*324bb76bSAndroid Build Coastguard Worker
511*324bb76bSAndroid Build Coastguard WorkerNew API Features
512*324bb76bSAndroid Build Coastguard Worker----------------
513*324bb76bSAndroid Build Coastguard Worker* The default GIF version to write is now computed at write time from
514*324bb76bSAndroid Build Coastguard Worker  the types of an image's extension blocks, but can be overridden with
515*324bb76bSAndroid Build Coastguard Worker  EGifSetGifVersion().
516*324bb76bSAndroid Build Coastguard Worker* EGifSpew() is now thread-safe.
517*324bb76bSAndroid Build Coastguard Worker* Two new functions, GifError() and GifErrorString(),
518*324bb76bSAndroid Build Coastguard Worker  return the error state in a form that can be used by programs.
519*324bb76bSAndroid Build Coastguard Worker* Two library functions - EGifOpenFileName() and EGifPutImageDesc() -
520*324bb76bSAndroid Build Coastguard Worker  now have bool rather than int flag arguments. Since bool is a
521*324bb76bSAndroid Build Coastguard Worker  typedef of int and TRUE/FALSE have been redefined to true/false,
522*324bb76bSAndroid Build Coastguard Worker  both source and object compatibility with older library versions
523*324bb76bSAndroid Build Coastguard Worker  should be preserved.
524*324bb76bSAndroid Build Coastguard Worker* GAGetArgs(), used only in the utilities, now returns bool rather
525*324bb76bSAndroid Build Coastguard Worker  than int.
526*324bb76bSAndroid Build Coastguard Worker* The undocumented GIF_LIB_VERSION symbol is gone from the library header.
527*324bb76bSAndroid Build Coastguard Worker  It has been replaced with three documented symbols: GIFLIB_MAJOR,
528*324bb76bSAndroid Build Coastguard Worker  GIFLIB_MINOR, and GIFLIB_RELEASE.
529*324bb76bSAndroid Build Coastguard Worker
530*324bb76bSAndroid Build Coastguard WorkerRetirements
531*324bb76bSAndroid Build Coastguard Worker-----------
532*324bb76bSAndroid Build Coastguard Worker* The gif2epsn and gif2iris utilities are gone.  They were full of
533*324bb76bSAndroid Build Coastguard Worker  platform dependencies for platforms long dead.  There are enough
534*324bb76bSAndroid Build Coastguard Worker  platform-independent GIF viewers in the world that these weren't
535*324bb76bSAndroid Build Coastguard Worker  adding any value. Removing these gets rid of a dependency on GL.
536*324bb76bSAndroid Build Coastguard Worker* The rle2gif, gif2rle, and gif2ps utilities are also gone. There are enough
537*324bb76bSAndroid Build Coastguard Worker  multiformat image converters in the world that these weren't adding
538*324bb76bSAndroid Build Coastguard Worker  any value either.  Removing them reduces the codebase's dependencies.
539*324bb76bSAndroid Build Coastguard Worker* The undocumented DumpScreen2Gif() is gone from the library.  The
540*324bb76bSAndroid Build Coastguard Worker  only non-obsolete capture mode it supported was through X, and that
541*324bb76bSAndroid Build Coastguard Worker  probably hasn't been used in years and is replaceable by any number
542*324bb76bSAndroid Build Coastguard Worker  of capture utilities.  Dropping this code makes the library's
543*324bb76bSAndroid Build Coastguard Worker  portability issues go away.
544*324bb76bSAndroid Build Coastguard Worker* QuantizeBuffer(), GifQprintf(), PrintGifError(), GIF_ERROR()
545*324bb76bSAndroid Build Coastguard Worker  and GIF_MESSAGE() have been removed from the core library.
546*324bb76bSAndroid Build Coastguard Worker  They were used only by the utilities. QuantizeBuffer() has been
547*324bb76bSAndroid Build Coastguard Worker  inlined where it was used and the latter three are now part of the
548*324bb76bSAndroid Build Coastguard Worker  utility support library.
549*324bb76bSAndroid Build Coastguard Worker* The Game Boy Advanced test code is gone.  The platform was discontinued
550*324bb76bSAndroid Build Coastguard Worker  in 2008; more to the point, nobody ever documented the code's assumptions
551*324bb76bSAndroid Build Coastguard Worker  or expected results.
552*324bb76bSAndroid Build Coastguard Worker* The Changelog file is now retained for archival purposes only, and because
553*324bb76bSAndroid Build Coastguard Worker  autotools throws a hissy fit if there isn't one.  The single point of
554*324bb76bSAndroid Build Coastguard Worker  truth about changes and the reasons for them is the repository history.
555*324bb76bSAndroid Build Coastguard Worker
556*324bb76bSAndroid Build Coastguard WorkerBehavior changes
557*324bb76bSAndroid Build Coastguard Worker----------------
558*324bb76bSAndroid Build Coastguard Worker* The -q option of the utilities is replaced by an opposite -v (verbose)
559*324bb76bSAndroid Build Coastguard Worker  option; the default is now quiet for all platforms.  Defaulting to chattiness
560*324bb76bSAndroid Build Coastguard Worker  on MSDOS made sense in a world of slow text consoles, but not today.
561*324bb76bSAndroid Build Coastguard Worker
562*324bb76bSAndroid Build Coastguard WorkerTesting
563*324bb76bSAndroid Build Coastguard Worker-------
564*324bb76bSAndroid Build Coastguard Worker* There is now a proper regression-test suite; run 'make' in tests/.
565*324bb76bSAndroid Build Coastguard Worker  The old test-unx script is now tests/visual-check and can be run
566*324bb76bSAndroid Build Coastguard Worker  occasionally for a check with the Mark One Eyeball.
567*324bb76bSAndroid Build Coastguard Worker
568*324bb76bSAndroid Build Coastguard WorkerDocumentation
569*324bb76bSAndroid Build Coastguard Worker-------------
570*324bb76bSAndroid Build Coastguard Worker* Build instructions now live in build.txt
571*324bb76bSAndroid Build Coastguard Worker* An overview of the giflib API now lives in api.txt.
572*324bb76bSAndroid Build Coastguard Worker* Documentation is now in DocBook-XML, so either HTML or man pages can
573*324bb76bSAndroid Build Coastguard Worker  be generated from it.
574*324bb76bSAndroid Build Coastguard Worker
575*324bb76bSAndroid Build Coastguard WorkerVersion 4.1.6
576*324bb76bSAndroid Build Coastguard Worker=============
577*324bb76bSAndroid Build Coastguard WorkerBrown paper bag release.  Fix a problem with header inclusion that could
578*324bb76bSAndroid Build Coastguard Workerprevent the library from building on some platforms.
579*324bb76bSAndroid Build Coastguard Worker
580*324bb76bSAndroid Build Coastguard WorkerVersion 4.1.5
581*324bb76bSAndroid Build Coastguard Worker=============
582*324bb76bSAndroid Build Coastguard WorkerThis version has some important fixes for segfaults when working with corrupt
583*324bb76bSAndroid Build Coastguard Workerfiles.  All users are strongly encouraged to upgrade.
584*324bb76bSAndroid Build Coastguard Worker
585*324bb76bSAndroid Build Coastguard WorkerCode Fixes
586*324bb76bSAndroid Build Coastguard Worker----------
587*324bb76bSAndroid Build Coastguard Worker* Fix segfault in utilities due to referencing ColorMaps in GifFiles that had
588*324bb76bSAndroid Build Coastguard Worker  no ColorMap present.
589*324bb76bSAndroid Build Coastguard Worker* Fix gif2x11 to work on 24 bit displays.
590*324bb76bSAndroid Build Coastguard Worker* Fix for giftext segfault when the GifFile does not store a global colormap.
591*324bb76bSAndroid Build Coastguard Worker* Checks to fail gracefully when an image contains improper LZ codes.
592*324bb76bSAndroid Build Coastguard Worker* Close file handles on failure in DGifOpenFileHandle()
593*324bb76bSAndroid Build Coastguard Worker* Checks to operate on files in binary mode on WIN32 as well as MSDOS.
594*324bb76bSAndroid Build Coastguard Worker
595*324bb76bSAndroid Build Coastguard WorkerBuilding
596*324bb76bSAndroid Build Coastguard Worker--------
597*324bb76bSAndroid Build Coastguard Worker* Add checks to make building on Win32 easier.
598*324bb76bSAndroid Build Coastguard Worker* Allow turning off gl_s, rle, and X11 support from the configure command line.
599*324bb76bSAndroid Build Coastguard Worker* Fix for finding a 32 bit integer type on some platforms.
600*324bb76bSAndroid Build Coastguard Worker* Only enable -Wall if we're using gcc.
601*324bb76bSAndroid Build Coastguard Worker
602*324bb76bSAndroid Build Coastguard WorkerVersion 4.1.4
603*324bb76bSAndroid Build Coastguard Worker=============
604*324bb76bSAndroid Build Coastguard WorkerThis version fixes some bugs with deallocating ColorMaps.  Fix building on
605*324bb76bSAndroid Build Coastguard Workerseveral platforms.  Fix x86_64 builds to not hang the encoder.
606*324bb76bSAndroid Build Coastguard Worker
607*324bb76bSAndroid Build Coastguard Worker* Fix several areas in decoding where we removed a ColorMap from our GifFile
608*324bb76bSAndroid Build Coastguard Worker  but didn't set the pointer to NULL.  This could lead to double free's of
609*324bb76bSAndroid Build Coastguard Worker  the ColorMap.
610*324bb76bSAndroid Build Coastguard Worker* Fix a bug in dev2gif.c where we redefined some gl types incorrectly.
611*324bb76bSAndroid Build Coastguard Worker* Fix a bug in the gif LZW encoder that was triggered on modern 64 bit
612*324bb76bSAndroid Build Coastguard Worker  platforms.
613*324bb76bSAndroid Build Coastguard Worker* Fix building on Windows.  Note -- there has been one API changing event for
614*324bb76bSAndroid Build Coastguard Worker  Windows (renaming DrawText to DrawGifText.)  This should have conflicted with
615*324bb76bSAndroid Build Coastguard Worker  Windows API and therefore caused the builds to fail previously.  If you had
616*324bb76bSAndroid Build Coastguard Worker  it working with DrawText before, apologies, you'll need to change to
617*324bb76bSAndroid Build Coastguard Worker  DrawGifText in your code.  This only affects Windows.
618*324bb76bSAndroid Build Coastguard Worker* Add support for building on The Game Boy Advance.  Note: Due to the GBA's
619*324bb76bSAndroid Build Coastguard Worker  limited memory, the API for the GBA uses short's in many places where the
620*324bb76bSAndroid Build Coastguard Worker  other platforms use ints.  This shouldn't affect anyone unless you've
621*324bb76bSAndroid Build Coastguard Worker  been able to get an older version of the code to run on GBA and want to
622*324bb76bSAndroid Build Coastguard Worker  start using this version instead.  A recompile of your dependent code
623*324bb76bSAndroid Build Coastguard Worker  will be necessary in this case.
624*324bb76bSAndroid Build Coastguard Worker
625*324bb76bSAndroid Build Coastguard WorkerVersion 4.1.3
626*324bb76bSAndroid Build Coastguard Worker=============
627*324bb76bSAndroid Build Coastguard WorkerThis version fixes some bugs in the Extension writing code in
628*324bb76bSAndroid Build Coastguard WorkerEGifPutExtensionFirst, Next, and Last.  Using these functions, it is possible
629*324bb76bSAndroid Build Coastguard Workerto output extensions that contain multiple subblocks.  Additionally, library
630*324bb76bSAndroid Build Coastguard Workercode has been updated to use these functions, making it safe to output
631*324bb76bSAndroid Build Coastguard Workerlong Comments, and multi-block extensions read in from another file.
632*324bb76bSAndroid Build Coastguard Worker
633*324bb76bSAndroid Build Coastguard Worker* giflib is now hosted on sourceforge with libungif:
634*324bb76bSAndroid Build Coastguard Worker  http://sourceforge.net/projects/libungif
635*324bb76bSAndroid Build Coastguard Worker* Make the EGifPutExtension{First,Next,Last} family of functions use WRITE
636*324bb76bSAndroid Build Coastguard Worker  so user defined WRITE methods will output them correctly.
637*324bb76bSAndroid Build Coastguard Worker* Modify EGifSpew and EGifPutComment to use EGifPutExtension{First,Next,Last}
638*324bb76bSAndroid Build Coastguard Worker  so we won't output broken GIFs when dealing with GIFs with multiple
639*324bb76bSAndroid Build Coastguard Worker  subblocks.
640*324bb76bSAndroid Build Coastguard Worker* More -Wall fixes revealed while testing on Solaris and FreeBSD.
641*324bb76bSAndroid Build Coastguard Worker* Updated the gif_lib.html documentation to not use EGifPutExtension when
642*324bb76bSAndroid Build Coastguard Worker  dealing with multiple subblocks.  Use EGifPutExtension{First,Next,Last}
643*324bb76bSAndroid Build Coastguard Worker  instead.
644*324bb76bSAndroid Build Coastguard Worker* Some Windows code from the old CVS repository now available in the windows
645*324bb76bSAndroid Build Coastguard Worker  subdirectory.  I don't have a Windows environment to test and maintain this
646*324bb76bSAndroid Build Coastguard Worker  but maybe someone out there will find it useful.  Caveat hacker.
647*324bb76bSAndroid Build Coastguard Worker
648*324bb76bSAndroid Build Coastguard WorkerVersion 4.1.2
649*324bb76bSAndroid Build Coastguard Worker=============
650*324bb76bSAndroid Build Coastguard Worker* Numerous bug fixes from people on the old libungif mailing list.
651*324bb76bSAndroid Build Coastguard Worker* GIF_ERROR and GIF_MESSAGE are on the deprecation list as they are also
652*324bb76bSAndroid Build Coastguard Worker  utility helper functions rather than essential to the functioning of the
653*324bb76bSAndroid Build Coastguard Worker  library.
654*324bb76bSAndroid Build Coastguard Worker* Complete deprecation list is now in the README file
655*324bb76bSAndroid Build Coastguard Worker* Audited the sources with gcc -Wall. Everything detectable has now been fixed.
656*324bb76bSAndroid Build Coastguard Worker* Ran the library code through indent.
657*324bb76bSAndroid Build Coastguard Worker
658*324bb76bSAndroid Build Coastguard WorkerVersion 4.1.1
659*324bb76bSAndroid Build Coastguard Worker=============
660*324bb76bSAndroid Build Coastguard Worker* Merge in many bug fixes that were sent in while I was hiking the
661*324bb76bSAndroid Build Coastguard Worker  Appalachian Trail.
662*324bb76bSAndroid Build Coastguard Worker* The qprintf methods of the library are now deprecated.  Do not use
663*324bb76bSAndroid Build Coastguard Worker  GifQuietPrint or GifQprintf.  These should have been pushed out into the
664*324bb76bSAndroid Build Coastguard Worker  utility helper library instead of sitting around in the library proper at
665*324bb76bSAndroid Build Coastguard Worker  the same time as the getarg functions were moved out.  Getting rid of these
666*324bb76bSAndroid Build Coastguard Worker  will let us get rid of our dependence on stdarg.h/varargs.h (Which a Gif
667*324bb76bSAndroid Build Coastguard Worker  reading library has no business requiring.)
668*324bb76bSAndroid Build Coastguard Worker
669*324bb76bSAndroid Build Coastguard WorkerVersion 4.1.0
670*324bb76bSAndroid Build Coastguard Worker=============
671*324bb76bSAndroid Build Coastguard Worker* Several minor memory leaks in error conditions have been plugged.
672*324bb76bSAndroid Build Coastguard Worker* New Function EGifOpen(void *userData, OutputFunc writeFunc) allows user
673*324bb76bSAndroid Build Coastguard Worker  specified gif writing functions.
674*324bb76bSAndroid Build Coastguard Worker* Old copyright notices in a few source files have been updated.  All library
675*324bb76bSAndroid Build Coastguard Worker  copyrights should now reflect the copyright notice in the COPYING file.
676*324bb76bSAndroid Build Coastguard Worker
677*324bb76bSAndroid Build Coastguard WorkerVersion 4.0.0 -- giflib
678*324bb76bSAndroid Build Coastguard Worker=======================
679*324bb76bSAndroid Build Coastguard WorkerThis version of the giflib library merges Eric Raymond's giflib-3.0 release
680*324bb76bSAndroid Build Coastguard Workerwith the libungif-4.0 release to give people a binary compatible choice
681*324bb76bSAndroid Build Coastguard Workerbetween the two libraries and gives me the chance to add bugfixes to giflib
682*324bb76bSAndroid Build Coastguard Workerthat have been incorporated in libungif.
683*324bb76bSAndroid Build Coastguard Worker
684*324bb76bSAndroid Build Coastguard WorkerPLEASE READ THE FILE PATENT_PROBLEMS BEFORE USING THIS LIBRARY!
685*324bb76bSAndroid Build Coastguard Worker
686*324bb76bSAndroid Build Coastguard WorkerVersion 4.0.0
687*324bb76bSAndroid Build Coastguard Worker=============
688*324bb76bSAndroid Build Coastguard WorkerMajor fixes have been made to the code that handles Extensions.
689*324bb76bSAndroid Build Coastguard WorkerUnfortunately, this causes binary incompatibility with giflib-3.0 and
690*324bb76bSAndroid Build Coastguard Workerlibungif-3.x.  However, the API is still intact.  I am, however, deprecating
691*324bb76bSAndroid Build Coastguard Workerthe use of saveImage[x].Function.  Use
692*324bb76bSAndroid Build Coastguard WorkersaveImage[x].ExtensionBlocks[y].Function instead.
693*324bb76bSAndroid Build Coastguard Worker
694*324bb76bSAndroid Build Coastguard WorkerVersion 3.1.1
695*324bb76bSAndroid Build Coastguard Worker=============
696*324bb76bSAndroid Build Coastguard Worker The following bugs which caused SegFaults have been fixed:
697*324bb76bSAndroid Build Coastguard Worker * When reading gif files with extensions, DGifSlurp would violate memory.
698*324bb76bSAndroid Build Coastguard Worker * When closing a gif that had a local colormap, DGifCloseFile would attempt
699*324bb76bSAndroid Build Coastguard Worker   to free the colormap twice.
700*324bb76bSAndroid Build Coastguard Worker * Fix a potential memory leak in DGifSlurp.
701*324bb76bSAndroid Build Coastguard Worker * New function DGifOpen to allow specifying a user definable gif reading
702*324bb76bSAndroid Build Coastguard Worker   function.
703*324bb76bSAndroid Build Coastguard Worker
704*324bb76bSAndroid Build Coastguard WorkerVersion 3.1.0
705*324bb76bSAndroid Build Coastguard Worker=============
706*324bb76bSAndroid Build Coastguard Worker * Add a new function:
707*324bb76bSAndroid Build Coastguard Worker        GifFileType *DGifOpen(void * userData, InputFunc readFunc)
708*324bb76bSAndroid Build Coastguard Worker   to read the gif image from a user defined input function.
709*324bb76bSAndroid Build Coastguard Worker * A few bugfixes.
710*324bb76bSAndroid Build Coastguard Worker
711*324bb76bSAndroid Build Coastguard WorkerVersion 3.0
712*324bb76bSAndroid Build Coastguard Worker===========
713*324bb76bSAndroid Build Coastguard Worker
714*324bb76bSAndroid Build Coastguard WorkerChanges from Eric Raymond's libgif
715*324bb76bSAndroid Build Coastguard Worker----------------------------------
716*324bb76bSAndroid Build Coastguard Worker* A new gif encoder that makes uncompressed gifs rather than standard,
717*324bb76bSAndroid Build Coastguard Worker  LZW-compressed gifs.  This is actually the major motivating factor behind
718*324bb76bSAndroid Build Coastguard Worker  libungif; to provide third-party distributors a means to provide a gif
719*324bb76bSAndroid Build Coastguard Worker  library without the patented LZW encoder.
720*324bb76bSAndroid Build Coastguard Worker* A new configure script to make compilation of the library on multiple
721*324bb76bSAndroid Build Coastguard Worker  platforms easier.  The package should now build shared libraries on all
722*324bb76bSAndroid Build Coastguard Worker  platforms supported by GNU libtool.
723*324bb76bSAndroid Build Coastguard Worker* Removed the getarg functions from libgif.  These were not part of the
724*324bb76bSAndroid Build Coastguard Worker  public API and only used by the tools in the utils directory so I separated
725*324bb76bSAndroid Build Coastguard Worker  them from the rest of the library.
726*324bb76bSAndroid Build Coastguard Worker* Fixed a few bugs in the tools in the utils directory.
727*324bb76bSAndroid Build Coastguard Worker
728*324bb76bSAndroid Build Coastguard WorkerVersion 3.0
729*324bb76bSAndroid Build Coastguard Worker===========
730*324bb76bSAndroid Build Coastguard Worker
731*324bb76bSAndroid Build Coastguard WorkerNew features
732*324bb76bSAndroid Build Coastguard Worker------------
733*324bb76bSAndroid Build Coastguard Worker* Incorporated Sirtaj Kang's changes to make both static and shared libs.
734*324bb76bSAndroid Build Coastguard Worker* All the utility and library docs are HTML now.
735*324bb76bSAndroid Build Coastguard Worker* The library and relevant utilities are now fully GIF89-aware.
736*324bb76bSAndroid Build Coastguard Worker* Functions for drawing text and boxes on saved images are documented.
737*324bb76bSAndroid Build Coastguard Worker* The distribution is now issued under a simple X-Consortium-style license.
738*324bb76bSAndroid Build Coastguard Worker* Can now generate package RPMs and LSM automatically.
739*324bb76bSAndroid Build Coastguard Worker* Home page with Web-acessible documentation at http://www.ccil.org/~esr/giflib
740*324bb76bSAndroid Build Coastguard Worker
741*324bb76bSAndroid Build Coastguard WorkerBug fixes
742*324bb76bSAndroid Build Coastguard Worker---------
743*324bb76bSAndroid Build Coastguard Worker* Fix giftext to not core dump on a null extension record.
744*324bb76bSAndroid Build Coastguard Worker* Incorporate Philip VanBaren's change to prevent a core dump in gifasm.
745*324bb76bSAndroid Build Coastguard Worker
746*324bb76bSAndroid Build Coastguard WorkerVersion 2.3
747*324bb76bSAndroid Build Coastguard Worker===========
748*324bb76bSAndroid Build Coastguard Worker* Fixed a core-dump bug in gifcomb revealed by ELF environment in Linux 1.2.13.
749*324bb76bSAndroid Build Coastguard Worker
750*324bb76bSAndroid Build Coastguard WorkerVersion 2.2b
751*324bb76bSAndroid Build Coastguard Worker============
752*324bb76bSAndroid Build Coastguard Worker* Added gifburst tool.
753*324bb76bSAndroid Build Coastguard Worker
754*324bb76bSAndroid Build Coastguard WorkerVersion 2.2
755*324bb76bSAndroid Build Coastguard Worker===========
756*324bb76bSAndroid Build Coastguard Worker* Linux is supported.
757*324bb76bSAndroid Build Coastguard Worker
758*324bb76bSAndroid Build Coastguard WorkerVersion 2.1
759*324bb76bSAndroid Build Coastguard Worker===========
760*324bb76bSAndroid Build Coastguard Worker* Added the gifovly tool, which supports making a composite from several GIF
761*324bb76bSAndroid Build Coastguard Worker  images.
762*324bb76bSAndroid Build Coastguard Worker* Used gifovly to implement a full-fledged pasteup program in shell.  It's
763*324bb76bSAndroid Build Coastguard Worker  called gifcompose and lives in the util directory.
764*324bb76bSAndroid Build Coastguard Worker* Added a copy of the GIF89 standard to the doc directory (gif89.txt);
765*324bb76bSAndroid Build Coastguard Worker  also a description of the preferred compression method (lzgif.txt).
766*324bb76bSAndroid Build Coastguard Worker
767*324bb76bSAndroid Build Coastguard WorkerVersion 2.0
768*324bb76bSAndroid Build Coastguard Worker===========
769*324bb76bSAndroid Build Coastguard Worker   With this version, development was taken over from Gershon Elber by Eric
770*324bb76bSAndroid Build Coastguard WorkerS. Raymond <[email protected]>.  Note that I, esr, have pretty much
771*324bb76bSAndroid Build Coastguard Workeradhered to Gershon's coding style, even though it's quite baroque and DOS-
772*324bb76bSAndroid Build Coastguard Workerheaded by my standards.
773*324bb76bSAndroid Build Coastguard Worker
774*324bb76bSAndroid Build Coastguard WorkerLibrary Improvements
775*324bb76bSAndroid Build Coastguard Worker--------------------
776*324bb76bSAndroid Build Coastguard Worker* New DGifSlurp() and EGifSpew() library entry points allow all GIF-bashing
777*324bb76bSAndroid Build Coastguard Worker  to be done in core on machines with sufficient memory.  Writing code to
778*324bb76bSAndroid Build Coastguard Worker  slice'n'dice multiple GIFs in non-sequential ways is now much easier (send
779*324bb76bSAndroid Build Coastguard Worker  kudos and brickbats to esr, small unmarked bills preferred).
780*324bb76bSAndroid Build Coastguard Worker* The interface has changed somewhat.  Members in the GifFileType structure
781*324bb76bSAndroid Build Coastguard Worker  have been renamed and regrouped.  This was required for support of the
782*324bb76bSAndroid Build Coastguard Worker  SavedImages member (which enables the new functions mentioned in 1).  Also,
783*324bb76bSAndroid Build Coastguard Worker  there is a new data type for allocated color maps and routines to handle
784*324bb76bSAndroid Build Coastguard Worker  it conveniently.
785*324bb76bSAndroid Build Coastguard Worker* Some minor bugs have been fixed.  Most notably, the DGif code now correctly
786*324bb76bSAndroid Build Coastguard Worker  handles the possibility of more than one code block per extension record,
787*324bb76bSAndroid Build Coastguard Worker  as per the GIF spec.  It's not clear, however, that anyone ever has or
788*324bb76bSAndroid Build Coastguard Worker  ever will use this feature for anything...
789*324bb76bSAndroid Build Coastguard Worker
790*324bb76bSAndroid Build Coastguard WorkerNew Tools and Options
791*324bb76bSAndroid Build Coastguard Worker---------------------
792*324bb76bSAndroid Build Coastguard Worker* A brand new, ultra-spiffy tool `icon2gif' is included.  It assembles named
793*324bb76bSAndroid Build Coastguard Worker  GIFs with editable text color map & icon raster representations to produce
794*324bb76bSAndroid Build Coastguard Worker  multi-image GIFs usable as graphical resource files.  It can also dump most
795*324bb76bSAndroid Build Coastguard Worker  GIFs in the same text-only form it parses.  This makes it easy to edit GIFs
796*324bb76bSAndroid Build Coastguard Worker  even if you don't have a graphics editor.
797*324bb76bSAndroid Build Coastguard Worker* The gifclip utility supports a new `-c' (complement) option that allows you
798*324bb76bSAndroid Build Coastguard Worker  to perform an `inverse clip', removing horizontal or vertical bands from an
799*324bb76bSAndroid Build Coastguard Worker  image.
800*324bb76bSAndroid Build Coastguard Worker* The gifclrmp utility supports a new `-t' switch for shuffling color index
801*324bb76bSAndroid Build Coastguard Worker   values.
802*324bb76bSAndroid Build Coastguard Worker* A new tool `gifcolor' generates test pattern from colormap input.
803*324bb76bSAndroid Build Coastguard Worker
804*324bb76bSAndroid Build Coastguard WorkerNew Documentation and Examples
805*324bb76bSAndroid Build Coastguard Worker------------------------------
806*324bb76bSAndroid Build Coastguard Worker* The documentation has been overhauled completely and translated out of the
807*324bb76bSAndroid Build Coastguard Worker  dialect spoken by the estimable Mr. Elber into something like standard
808*324bb76bSAndroid Build Coastguard Worker  English :-).
809*324bb76bSAndroid Build Coastguard Worker* Two source code files gifspnge.c and giffiltr.c have been added to the
810*324bb76bSAndroid Build Coastguard Worker  util directory.  These are GIF copiers that exercise the I/O routines,
811*324bb76bSAndroid Build Coastguard Worker  provided as skeletons for your applications.  Read the comments in them
812*324bb76bSAndroid Build Coastguard Worker  for more info.
813*324bb76bSAndroid Build Coastguard Worker* The util Makefile for UNIX has been improved.  It now uses the cc/gcc -s
814*324bb76bSAndroid Build Coastguard Worker  option rather than strip(1).  There are now separate install productions,
815*324bb76bSAndroid Build Coastguard Worker  so you can test new versions in util before installation for production
816*324bb76bSAndroid Build Coastguard Worker  (the top-level make script still does an install).
817*324bb76bSAndroid Build Coastguard Worker
818*324bb76bSAndroid Build Coastguard WorkerVersion 1.2
819*324bb76bSAndroid Build Coastguard Worker===========
820*324bb76bSAndroid Build Coastguard Worker* GIFFIX - a new tool to attempt and fix broken GIF images. Currently fix
821*324bb76bSAndroid Build Coastguard Worker  images that has EOF prematurely by padding with the darkest color.
822*324bb76bSAndroid Build Coastguard Worker* Make GIF2BGI display as much as it can considering the mem. avail.
823*324bb76bSAndroid Build Coastguard Worker* Add -q flag to all tools for quite running scan line number mode.
824*324bb76bSAndroid Build Coastguard Worker* Fix a (minor!?) bug in the GIF decoder when encountering code 4095.
825*324bb76bSAndroid Build Coastguard Worker* New tools (RGB2GIF and GIF2RGB) to convert GIF to/from 24 bits RGB images.
826*324bb76bSAndroid Build Coastguard Worker* New tool GIFROTAT to rotate a gif image by an arbitrary angle.
827*324bb76bSAndroid Build Coastguard Worker* GifRSize was updated to resize by an arbitrary factor.
828*324bb76bSAndroid Build Coastguard Worker
829*324bb76bSAndroid Build Coastguard WorkerVersion 1.1
830*324bb76bSAndroid Build Coastguard Worker===========
831*324bb76bSAndroid Build Coastguard Worker* GIF2BGI - a new utility to display GIF images using Borland's BGI drivers
832*324bb76bSAndroid Build Coastguard Worker  (if you have one...)
833*324bb76bSAndroid Build Coastguard Worker* TEXT2GIF - Converts plain text into GIF images.
834*324bb76bSAndroid Build Coastguard Worker* GIF2IRIS - SGI4D display program for GIF images.
835*324bb76bSAndroid Build Coastguard Worker* GIF_LIB naming convension has been modified to make sure it has unique
836*324bb76bSAndroid Build Coastguard Worker  names (see gif_lib.h).
837*324bb76bSAndroid Build Coastguard Worker* Support for SGI4D gl and X11 window grabbing has been added to the
838*324bb76bSAndroid Build Coastguard Worker  library. SGI4D input is quantizied into 8 bits.
839*324bb76bSAndroid Build Coastguard Worker  Also support for EGA/VGA devices has been added as well.
840*324bb76bSAndroid Build Coastguard Worker  see Dev2gif.c module.
841*324bb76bSAndroid Build Coastguard Worker* Support for the new gif89a format has been added.
842*324bb76bSAndroid Build Coastguard Worker
843*324bb76bSAndroid Build Coastguard Worker
844*324bb76bSAndroid Build Coastguard Worker
845