update latest
[external/giflib.git] / NEWS
1 Version 4.1.6
2 =============
3 Brown paper bag release.  Fix a problem with header inclusion that could
4 prevent the library from building on some platforms.
5
6 Version 4.1.5
7 =============
8 This version has some important fixes for segfaults when working with corrupt
9 files.  All users are strongly encouraged to upgrade.
10
11 Code Fixes
12 ----------
13 * Fix segfault in utilities due to referencing ColorMaps in GifFiles that had
14   no ColorMap present.
15 * Fix gif2x11 to work on 24 bit displays.
16 * Fix for giftext segfault when the GifFile does not store a global colormap.
17 * Checks to fail gracefully when an image contains improper LZ codes.
18 * Close file handles on failure in DGifOpenFileHandle()
19 * Checks to operate on files in binary mode on WIN32 as well as MSDOS.
20
21 Building
22 --------
23 * Add checks to make building on Win32 easier.
24 * Allow turning off gl_s, rle, and X11 support from the configure command line.
25 * Fix for finding a 32 bit integer type on some platforms.
26 * Only enable -Wall if we're using gcc.
27
28 Version 4.1.4
29 =============
30 This version fixes some bugs with deallocating ColorMaps.  Fix building on
31 several platforms.  Fix x86_64 builds to not hang the encoder.
32
33 * Fix several areas in decoding where we removed a ColorMap from our GifFile
34   but didn't set the pointer to NULL.  This could lead to double free's of
35   the ColorMap.
36 * Fix a bug in dev2gif.c where we redefined some gl types incorrectly.
37 * Fix a bug in the gif LZW encoder that was triggered on modern 64 bit
38   platforms.
39 * Fix building on Windows.  Note -- there has been one API changing event for
40   Windows (renaming DrawText to DrawGifText.)  This should have conflicted with
41   Windows API and therefore caused the builds to fail previously.  If you had
42   it working with DrawText before, apologies, you'll need to change to
43   DrawGifText in your code.  This only affects Windows.
44 * Add support for building on The Game Boy Advance.  Note: Due to the GBA's
45   limited memory, the API for the GBA uses short's in many places where the
46   other platforms use ints.  This shouldn't affect anyone unless you've
47   been able to get an older version of the code to run on GBA and want to
48   start using this version instead.  A recompile of your dependent code
49   will be necessary in this case.
50
51 Version 4.1.3
52 =============
53 This version fixes some bugs in the Extension writing code in
54 EGifPutExtensionFirst, Next, and Last.  Using these functions, it is possible
55 to output extensions that contain multiple subblocks.  Additionally, library
56 code has been updated to use these functions, making it safe to output
57 long Comments, and multi-block extensions read in from another file.
58
59 * giflib is now hosted on sourceforge with libungif:
60   http://sourceforge.net/projects/libungif
61 * Make the EGifPutExtension{First,Next,Last} family of functions use WRITE
62   so user defined WRITE methods will output them correctly.
63 * Modify EGifSpew and EGifPutComment to use EGifPutExtension{First,Next,Last}
64   so we won't output broken GIFs when dealing with GIFs with multiple
65   subblocks.
66 * More -Wall fixes revealed while testing on Solaris and FreeBSD.
67 * Updated the gif_lib.html documentation to not use EGifPutExtension when
68   dealing with multiple subblocks.  Use EGifPutExtension{First,Next,Last}
69   instead.
70 * Some Windows code from the old CVS repository now available in the windows
71   subdirectory.  I don't have a Windows environment to test and maintain this
72   but maybe someone out there will find it useful.  Caveat hacker.
73
74 Version 4.1.2
75 ===============
76 * Numerous bug fixes from people on the old libungif mailing list.
77 * GIF_ERROR and GIF_MESSAGE are on the deprecation list as they are also
78   utility helper functions rather than essential to the functioning of the
79   library.
80 * Complete deprecation list is now in the README file
81 * Audited the sources with gcc -Wall. Everything detectable has now been fixed.
82 * Ran the library code through indent.
83   
84 Version 4.1.1
85 =============
86 * Merge in many bug fixes that were sent in while I was hiking the
87   Appalachian Trail.
88 * The qprintf methods of the library are now deprecated.  Do not use 
89   GifQuietPrint or GifQprintf.  These should have been pushed out into the
90   utility helper library instead of sitting around in the library proper at
91   the same time as the getarg functions were moved out.  Getting rid of these
92   will let us get rid of our dependence on stdarg.h/varargs.h (Which a Gif
93   reading library has no business requiring.)
94
95 Version 4.1.0
96 ============
97 * Several minor memory leaks in error conditions have been plugged.
98 * New Function EGifOpen(void *userData, OutputFunc writeFunc) allows user
99   specified gif writing functions.
100 * Old copyright notices in a few source files have been updated.  All library
101   copyrights should now reflect the copyright notice in the COPYING file.
102
103 Version 4.0.0 -- giflib
104 =======================
105 This version of the giflib library merges Eric Raymond's giflib-3.0 release
106 with the libungif-4.0 release to give people a binary compatible choice
107 between the two libraries and gives me the chance to add bugfixes to giflib
108 that have been incorporated in libungif.
109
110 PLEASE READ THE FILE PATENT_PROBLEMS BEFORE USING THIS LIBRARY!
111
112 Version 4.0.0
113 =============
114 Major fixes have been made to the code that handles Extensions.
115 Unfortunately, this causes binary incompatibility with giflib-3.0 and
116 libungif-3.x.  However, the API is still intact.  I am, however, deprecating
117 the use of saveImage[x].Function.  Use
118 saveImage[x].ExtensionBlocks[y].Function instead.
119
120 Version 3.1.1
121 =============
122  The following bugs which caused SegFaults have been fixed:
123  * When reading gif files with extensions, DGifSlurp would violate memory.
124  * When closing a gif that had a local colormap, DGifCloseFile would attempt
125    to free the colormap twice.
126  * Fix a potential memory leak in DGifSlurp.
127 The following enhancements have been made:
128  * New function DGifOpen to allow specifying a user definable gif reading
129    function.
130
131 Version 3.1.0
132 =============
133  * Add a new function:
134         GifFileType *DGifOpen(void * userData, InputFunc readFunc)
135    to read the gif image from a user defined input function.
136  * A few bugfixes.
137
138 Version 3.0
139 ===========
140 Changes from Eric Raymond's libgif:
141  * A new gif encoder that makes uncompressed gifs rather than standard,
142    LZW-compressed gifs.  This is actually the major motivating factor behind
143    libungif; to provide third-party distributors a means to provide a gif
144    library without the patented LZW encoder.
145
146  * A new configure script to make compilation of the library on multiple
147    platforms easier.  The package should now build shared libraries on all
148    platforms supported by GNU libtool.
149
150  * Removed the getarg functions from libgif.  These were not part of the
151    public API and only used by the tools in the utils directory so I separated
152    them from the rest of the library.
153
154  * Fixed a few bugs in the tools in the utils directory.
155
156 ========
157 Changes predating libungif 3.0 (news in the original libgif, in other words.)
158 is in ONEWS
159