]>
Commit | Line | Data |
---|---|---|
4946a942 | 1 | |
75b6e0a0 GD |
2 | CHANGES - changes for libpng |
3 | ||
4 | version 0.2 | |
5 | added reader into png.h | |
6 | fixed small problems in stub file | |
706b8807 | 7 | |
75b6e0a0 GD |
8 | version 0.3 |
9 | added pull reader | |
10 | split up pngwrite.c to several files | |
11 | added pnglib.txt | |
12 | added example.c | |
13 | cleaned up writer, adding a few new tranformations | |
14 | fixed some bugs in writer | |
15 | interfaced with zlib 0.5 | |
16 | added K&R support | |
17 | added check for 64 KB blocks for 16 bit machines | |
706b8807 | 18 | |
75b6e0a0 GD |
19 | version 0.4 |
20 | cleaned up code and commented code | |
21 | simplified time handling into png_time | |
22 | created png_color_16 and png_color_8 to handle color needs | |
23 | cleaned up color type defines | |
24 | fixed various bugs | |
25 | made various names more consistant | |
26 | interfaced with zlib 0.71 | |
27 | cleaned up zTXt reader and writer (using zlib's Reset functions) | |
28 | split transformations into pngrtran.c and pngwtran.c | |
706b8807 | 29 | |
75b6e0a0 GD |
30 | version 0.5 |
31 | interfaced with zlib 0.8 | |
32 | fixed many reading and writing bugs | |
33 | saved using 3 spaces instead of tabs | |
706b8807 | 34 | |
75b6e0a0 GD |
35 | version 0.6 |
36 | added png_large_malloc() and png_large_free() | |
37 | added png_size_t | |
38 | cleaned up some compiler warnings | |
39 | added png_start_read_image() | |
706b8807 | 40 | |
75b6e0a0 GD |
41 | version 0.7 |
42 | cleaned up lots of bugs | |
43 | finished dithering and other stuff | |
44 | added test program | |
45 | changed name from pnglib to libpng | |
706b8807 | 46 | |
75b6e0a0 GD |
47 | version 0.71 [June, 1995] |
48 | changed pngtest.png for zlib 0.93 | |
49 | fixed error in libpng.txt and example.c | |
706b8807 | 50 | |
75b6e0a0 GD |
51 | version 0.8 |
52 | cleaned up some bugs | |
53 | added png_set_filler() | |
54 | split up pngstub.c into pngmem.c, pngio.c, and pngerror.c | |
55 | added #define's to remove unwanted code | |
56 | moved png_info_init() to png.c | |
57 | added old_size into png_realloc() | |
58 | added functions to manually set filtering and compression info | |
59 | changed compression parameters based on image type | |
60 | optimized filter selection code | |
61 | added version info | |
62 | changed external functions passing floats to doubles (k&r problems?) | |
63 | put all the configurable stuff in pngconf.h | |
64 | enabled png_set_shift to work with paletted images on read | |
65 | added png_read_update_info() - updates info structure with | |
66 | transformations | |
706b8807 | 67 | |
75b6e0a0 GD |
68 | version 0.81 [August, 1995] |
69 | incorporated Tim Wegner's medium model code (thanks, Tim) | |
706b8807 | 70 | |
75b6e0a0 GD |
71 | version 0.82 [September, 1995] |
72 | [unspecified changes] | |
706b8807 | 73 | |
75b6e0a0 GD |
74 | version 0.85 [December, 1995] |
75 | added more medium model code (almost everything's a far) | |
76 | added i/o, error, and memory callback functions | |
77 | fixed some bugs (16 bit, 4 bit interlaced, etc.) | |
78 | added first run progressive reader (barely tested) | |
706b8807 | 79 | |
75b6e0a0 GD |
80 | version 0.86 [January, 1996] |
81 | fixed bugs | |
82 | improved documentation | |
706b8807 | 83 | |
75b6e0a0 GD |
84 | version 0.87 [January, 1996] |
85 | fixed medium model bugs | |
86 | fixed other bugs introduced in 0.85 and 0.86 | |
87 | added some minor documentation | |
706b8807 | 88 | |
75b6e0a0 GD |
89 | version 0.88 [January, 1996] |
90 | fixed progressive bugs | |
91 | replaced tabs with spaces | |
92 | cleaned up documentation | |
93 | added callbacks for read/write and warning/error functions | |
706b8807 | 94 | |
75b6e0a0 GD |
95 | version 0.89 [July, 1996] |
96 | added new initialization API to make libpng work better with shared libs | |
97 | we now have png_create_read_struct(), png_create_write_struct(), | |
98 | png_create_info_struct(), png_destroy_read_struct(), and | |
99 | png_destroy_write_struct() instead of the separate calls to | |
100 | malloc and png_read_init(), png_info_init(), and png_write_init() | |
101 | changed warning/error callback functions to fix bug - this means you | |
102 | should use the new initialization API if you were using the old | |
103 | png_set_message_fn() calls, and that the old API no longer exists | |
104 | so that people are aware that they need to change their code | |
105 | changed filter selection API to allow selection of multiple filters | |
106 | since it didn't work in previous versions of libpng anyways | |
107 | optimized filter selection code | |
108 | fixed png_set_background() to allow using an arbitrary RGB color for | |
109 | paletted images | |
110 | fixed gamma and background correction for paletted images, so | |
111 | png_correct_palette is not needed unless you are correcting an | |
112 | external palette (you will need to #define PNG_CORRECT_PALETTE_SUPPORTED | |
113 | in pngconf.h) - if nobody uses this, it may disappear in the future. | |
114 | fixed bug with Borland 64K memory allocation (Alexander Lehmann) | |
115 | fixed bug in interlace handling (Smarasderagd, I think) | |
116 | added more error checking for writing and image to reduce invalid files | |
117 | separated read and write functions so that they won't both be linked | |
118 | into a binary when only reading or writing functionality is used | |
119 | new pngtest image also has interlacing and zTXt | |
120 | updated documentation to reflect new API | |
706b8807 | 121 | |
75b6e0a0 GD |
122 | version 0.90 [January, 1997] |
123 | made CRC errors/warnings on critical and ancillary chunks configurable | |
124 | libpng will use the zlib CRC routines by (compile-time) default | |
125 | changed DOS small/medium model memory support - needs zlib 1.04 (Tim Wegner) | |
126 | added external C++ wrapper statements to png.h (Gilles Dauphin) | |
127 | allow PNG file to be read when some or all of file signature has already | |
128 | been read from the beginning of the stream. ****This affects the size | |
129 | of info_struct and invalidates all programs that use a shared libpng**** | |
130 | fixed png_filler() declarations | |
131 | fixed? background color conversions | |
132 | fixed order of error function pointers to match documentation | |
133 | current chunk name is now available in png_struct to reduce the number | |
134 | of nearly identical error messages (will simplify multi-lingual | |
135 | support when available) | |
136 | try to get ready for unknown-chunk callback functions: | |
137 | - previously read critical chunks are flagged, so the chunk handling | |
138 | routines can determine if the chunk is in the right place | |
139 | - all chunk handling routines have the same prototypes, so we will | |
140 | be able to handle all chunks via a callback mechanism | |
141 | try to fix Linux "setjmp" buffer size problems | |
4946a942 | 142 | removed png_large_malloc, png_large_free, and png_realloc functions. |
706b8807 | 143 | |
75b6e0a0 GD |
144 | version 0.95 [March, 1997] |
145 | fixed bug in pngwutil.c allocating "up_row" twice and "avg_row" never | |
146 | fixed bug in PNG file signature compares when start != 0 | |
147 | changed parameter type of png_set_filler(...filler...) from png_byte | |
148 | to png_uint_32 | |
149 | added test for MACOS to ensure that both math.h and fp.h are not #included | |
150 | added macros for libpng to be compiled as a Windows DLL (Andreas Kupries) | |
151 | added "packswap" transformation, which changes the endianness of | |
152 | packed-pixel bytes (Kevin Bracey) | |
153 | added "strip_alpha" transformation, which removes the alpha channel of | |
154 | input images without using it (not neccesarily a good idea) | |
155 | added "swap_alpha" transformation, which puts the alpha channel in front | |
156 | of the color bytes instead of after | |
157 | removed all implicit variable tests which assume NULL == 0 (I think) | |
158 | changed several variables to "png_size_t" to show 16/32-bit limitations | |
159 | added new pCAL chunk read/write support | |
160 | added experimental filter selection weighting (Greg Roelofs) | |
161 | removed old png_set_rgbx() and png_set_xrgb() functions that have been | |
162 | obsolete for about 2 years now (use png_set_filler() instead) | |
163 | added macros to read 16- and 32-bit ints directly from buffer, to be | |
164 | used only on those systems that support it (namely PowerPC and 680x0) | |
165 | With some testing, this may become the default for MACOS/PPC systems. | |
166 | only calculate CRC on data if we are going to use it | |
167 | added macros for zTXt compression type PNG_zTXt_COMPRESSION_??? | |
168 | added macros for simple libpng debugging output selectable at compile time | |
169 | removed PNG_READ_END_MODE in progressive reader (Smarasderagd) | |
170 | more description of info_struct in libpng.txt and png.h | |
171 | more instructions in example.c | |
172 | more chunk types tested in pngtest.c | |
173 | renamed pngrcb.c to pngset.c, and all png_read_<chunk> functions to be | |
174 | png_set_<chunk>. We now have corresponding png_get_<chunk> | |
175 | functions in pngget.c to get infomation in info_ptr. This isolates | |
176 | the application from the internal organization of png_info_struct | |
177 | (good for shared library implementations). | |
706b8807 | 178 | |
75b6e0a0 GD |
179 | version 0.96 [May, 1997] |
180 | fixed serious bug with < 8bpp images introduced in 0.95 | |
181 | fixed 256-color transparency bug (Greg Roelofs) | |
182 | fixed up documentation (Greg Roelofs, Laszlo Nyul) | |
183 | fixed "error" in pngconf.h for Linux setjmp() behaviour | |
184 | fixed DOS medium model support (Tim Wegner) | |
185 | fixed png_check_keyword() for case with error in static string text | |
186 | added read of CRC after IEND chunk for embedded PNGs (Laszlo Nyul) | |
187 | added typecasts to quiet compiler errors | |
188 | added more debugging info | |
706b8807 | 189 | |
75b6e0a0 GD |
190 | version 0.97 [January, 1998] |
191 | removed PNG_USE_OWN_CRC capability | |
192 | relocated png_set_crc_action from pngrutil.c to pngrtran.c | |
193 | fixed typecasts of "new_key", etc. (Andreas Dilger) | |
194 | added RFC 1152 [sic] date support | |
195 | fixed bug in gamma handling of 4-bit grayscale | |
196 | added 2-bit grayscale gamma handling (Glenn R-P) | |
197 | added more typecasts. 65536L becomes (png_uint_32)65536L, etc. (Glenn R-P) | |
198 | minor corrections in libpng.txt | |
199 | added simple sRGB support (Glenn R-P) | |
200 | easier conditional compiling, e.g. define PNG_READ/WRITE_NOT_FULLY_SUPPORTED; | |
201 | all configurable options can be selected from command-line instead | |
202 | of having to edit pngconf.h (Glenn R-P) | |
203 | fixed memory leak in pngwrite.c (free info_ptr->text) (Glenn R-P) | |
204 | added more conditions for png_do_background, to avoid changing | |
205 | black pixels to background when a background is supplied and | |
206 | no pixels are transparent | |
207 | repaired PNG_NO_STDIO behaviour | |
208 | tested NODIV support and made it default behaviour (Greg Roelofs) | |
209 | added "-m" option and PNGTEST_DEBUG_MEMORY to pngtest (John Bowler) | |
210 | regularized version numbering scheme and bumped shared-library major | |
211 | version number to 2 to avoid problems with libpng 0.89 apps (Greg Roelofs) | |
706b8807 | 212 | |
75b6e0a0 GD |
213 | version 0.98 [January, 1998] |
214 | cleaned up some typos in libpng.txt and in code documentation | |
215 | fixed memory leaks in pCAL chunk processing (Glenn R-P and John Bowler) | |
216 | cosmetic change "display_gamma" to "screen_gamma" in pngrtran.c | |
217 | changed recommendation about file_gamma for PC images to .51 from .45, | |
218 | in example.c and libpng.txt, added comments to distinguish between | |
219 | screen_gamma, viewing_gamma, and display_gamma. | |
220 | changed all references to RFC1152 to read RFC1123 and changed the | |
221 | PNG_TIME_RFC1152_SUPPORTED macro to PNG_TIME_RFC1123_SUPPORTED | |
222 | added png_invert_alpha capability (Glenn R-P -- suggestion by Jon Vincent) | |
223 | changed srgb_intent from png_byte to int to avoid compiler bugs | |
706b8807 | 224 | |
75b6e0a0 GD |
225 | version 0.99 [January 30, 1998] |
226 | free info_ptr->text instead of end_info_ptr->text in pngread.c (John Bowler) | |
227 | fixed a longstanding "packswap" bug in pngtrans.c | |
228 | fixed some inconsistencies in pngconf.h that prevented compiling with | |
229 | PNG_READ_GAMMA_SUPPORTED and PNG_READ_hIST_SUPPORTED undefined | |
230 | fixed some typos and made other minor rearrangement of libpng.txt (Andreas) | |
231 | changed recommendation about file_gamma for PC images to .50 from .51 in | |
232 | example.c and libpng.txt, and changed file_gamma for sRGB images to .45 | |
233 | added a number of functions to access information from the png structure | |
234 | png_get_image_height(), etc. (Glenn R-P, suggestion by Brad Pettit) | |
235 | added TARGET_MACOS similar to zlib-1.0.8 | |
236 | define PNG_ALWAYS_EXTERN when __MWERKS__ && WIN32 are defined | |
237 | added type casting to all png_malloc() function calls | |
238 | version 0.99a [January 31, 1998] | |
239 | Added type casts and parentheses to all returns that return a value.(Tim W.) | |
240 | version 0.99b [February 4, 1998] | |
241 | Added type cast png_uint_32 on malloc function calls where needed. | |
242 | Changed type of num_hist from png_uint_32 to int (same as num_palette). | |
243 | Added checks for rowbytes overflow, in case png_size_t is less than 32 bits. | |
244 | Renamed makefile.elf to makefile.lnx. | |
245 | version 0.99c [February 7, 1998] | |
246 | More type casting. Removed erroneous overflow test in pngmem.c. | |
247 | Added png_buffered_memcpy() and png_buffered_memset(), apply them to rowbytes. | |
248 | Added UNIX manual pages libpng.3 (incorporating libpng.txt) and png.5. | |
249 | version 0.99d [February 11, 1998] | |
250 | Renamed "far_to_near()" "png_far_to_near()" | |
251 | Revised libpng.3 | |
252 | Version 99c "buffered" operations didn't work as intended. Replaced them | |
253 | with png_memcpy_check() and png_memset_check(). | |
254 | Added many "if (png_ptr == NULL) return" to quell compiler warnings about | |
255 | unused png_ptr, mostly in pngget.c and pngset.c. | |
256 | Check for overlength tRNS chunk present when indexed-color PLTE is read. | |
257 | Cleaned up spelling errors in libpng.3/libpng.txt | |
258 | Corrected a problem with png_get_tRNS() which returned undefined trans array | |
259 | version 0.99e [February 28, 1998] | |
260 | Corrected png_get_tRNS() again. | |
261 | Add parentheses for easier reading of pngget.c, fixed "||" should be "&&". | |
262 | Touched up example.c to make more of it compileable, although the entire | |
263 | file still can't be compiled (Willem van Schaik) | |
264 | Fixed a bug in png_do_shift() (Bryan Tsai) | |
265 | Added a space in png.h prototype for png_write_chunk_start() | |
266 | Replaced pngtest.png with one created with zlib 1.1.1 | |
267 | Changed pngtest to report PASS even when file size is different (Jean-loup G.) | |
268 | Corrected some logic errors in png_do_invert_alpha() (Chris Patterson) | |
269 | version 0.99f [March 5, 1998] | |
270 | Corrected a bug in pngpread() introduced in version 99c (Kevin Bracey) | |
271 | Moved makefiles into a "scripts" directory, and added INSTALL instruction file | |
272 | Added makefile.os2 and pngos2.def (A. Zabolotny) and makefile.s2x (W. Sebok) | |
273 | Added pointers to "note on libpng versions" in makefile.lnx and README | |
274 | Added row callback feature when reading and writing nonprogressive rows | |
275 | and added a test of this feature in pngtest.c | |
276 | Added user transform callbacks, with test of the feature in pngtest.c | |
277 | version 0.99g [March 6, 1998, morning] | |
278 | Minor changes to pngtest.c to suppress compiler warnings. | |
279 | Removed "beta" language from documentation. | |
280 | version 0.99h [March 6, 1998, evening] | |
281 | Minor changes to previous minor changes to pngtest.c | |
282 | Changed PNG_READ_NOT_FULLY_SUPPORTED to PNG_READ_TRANSFORMS_NOT_SUPPORTED | |
283 | and added PNG_PROGRESSIVE_READ_NOT_SUPPORTED macro | |
4946a942 | 284 | Added user transform capability |
706b8807 | 285 | |
75b6e0a0 GD |
286 | version 1.00 [March 7, 1998] |
287 | Changed several typedefs in pngrutil.c | |
288 | Added makefile.wat (Pawel Mrochen), updated makefile.tc3 (Willem van Schaik) | |
289 | replaced "while(1)" with "for(;;)" | |
290 | added PNGARG() to prototypes in pngtest.c and removed some prototypes | |
291 | updated some of the makefiles (Tom Lane) | |
292 | changed some typedefs (s_start, etc.) in pngrutil.c | |
293 | fixed dimensions of "short_months" array in pngwrite.c | |
294 | Replaced ansi2knr.c with the one from jpeg-v6 | |
706b8807 | 295 | |
75b6e0a0 GD |
296 | version 1.0.0 [March 8, 1998] |
297 | Changed name from 1.00 to 1.0.0 (Adam Costello) | |
298 | Added smakefile.ppc (with SCOPTIONS.ppc) for Amiga PPC (Andreas Kleinert) | |
299 | version 1.0.0a [March 9, 1998] | |
300 | Fixed three bugs in pngrtran.c to make gamma+background handling consistent | |
301 | (Greg Roelofs) | |
302 | Changed format of the PNG_LIBPNG_VER integer to xyyzz instead of xyz | |
303 | for major, minor, and bugfix releases. This is 10001. (Adam Costello, | |
304 | Tom Lane) | |
305 | Make months range from 1-12 in png_convert_to_rfc1123 | |
306 | version 1.0.0b [March 13, 1998] | |
307 | Quieted compiler complaints about two empty "for" loops in pngrutil.c | |
308 | Minor changes to makefile.s2x | |
309 | Removed #ifdef/#endif around a png_free() in pngread.c | |
706b8807 | 310 | |
75b6e0a0 GD |
311 | version 1.0.1 [March 14, 1998] |
312 | Changed makefile.s2x to reduce security risk of using a relative pathname | |
313 | Fixed some typos in the documentation (Greg). | |
314 | Fixed a problem with value of "channels" returned by png_read_update_info() | |
315 | version 1.0.1a [April 21, 1998] | |
316 | Optimized Paeth calculations by replacing abs() function calls with intrinsics | |
317 | plus other loop optimizations. Improves avg decoding speed by about 20%. | |
318 | Commented out i386istic "align" compiler flags in makefile.lnx. | |
319 | Reduced the default warning level in some makefiles, to make them consistent. | |
320 | Removed references to IJG and JPEG in the ansi2knr.c copyright statement. | |
321 | Fixed a bug in png_do_strip_filler with XXRRGGBB => RRGGBB transformation. | |
322 | Added grayscale and 16-bit capability to png_do_read_filler(). | |
323 | Fixed a bug in pngset.c, introduced in version 0.99c, that sets rowbytes | |
324 | too large when writing an image with bit_depth < 8 (Bob Dellaca). | |
325 | Corrected some bugs in the experimental weighted filtering heuristics. | |
326 | Moved a misplaced pngrutil code block that truncates tRNS if it has more | |
327 | than num_palette entries -- test was done before num_palette was defined. | |
328 | Fixed a png_convert_to_rfc1123() bug that converts day 31 to 0 (Steve Eddins). | |
329 | Changed compiler flags in makefile.wat for better optimization (Pawel Mrochen). | |
330 | version 1.0.1b [May 2, 1998] | |
331 | Relocated png_do_gray_to_rgb() within png_do_read_transformations() (Greg). | |
332 | Relocated the png_composite macros from pngrtran.c to png.h (Greg). | |
333 | Added makefile.sco (contributed by Mike Hopkirk). | |
334 | Fixed two bugs (missing definitions of "istop") introduced in libpng-1.0.1a. | |
335 | Fixed a bug in pngrtran.c that would set channels=5 under some circumstances. | |
336 | More work on the Paeth-filtering, achieving imperceptible speedup (A Kleinert). | |
337 | More work on loop optimization which may help when compiled with C++ compilers. | |
338 | Added warnings when people try to use transforms they've defined out. | |
339 | Collapsed 4 "i" and "c" loops into single "i" loops in pngrtran and pngwtran. | |
340 | Revised paragraph about png_set_expand() in libpng.txt and libpng.3 (Greg) | |
341 | version 1.0.1c [May 11, 1998] | |
342 | Fixed a bug in pngrtran.c (introduced in libpng-1.0.1a) where the masks for | |
343 | filler bytes should have been 0xff instead of 0xf. | |
344 | Added max_pixel_depth=32 in pngrutil.c when using FILLER with palette images. | |
345 | Moved PNG_WRITE_WEIGHTED_FILTER_SUPPORTED and PNG_WRITE_FLUSH_SUPPORTED | |
346 | out of the PNG_WRITE_TRANSFORMS_NOT_SUPPORTED block of pngconf.h | |
347 | Added "PNG_NO_WRITE_TRANSFORMS" etc., as alternatives for *_NOT_SUPPORTED, | |
348 | for consistency, in pngconf.h | |
349 | Added individual "ifndef PNG_NO_[CAPABILITY]" in pngconf.h to make it easier | |
350 | to remove unwanted capabilities via the compile line | |
351 | Made some corrections to grammar (which, it's) in documentation (Greg). | |
352 | Corrected example.c, use of row_pointers in png_write_image(). | |
353 | version 1.0.1d [May 24, 1998] | |
354 | Corrected several statements that used side effects illegally in pngrutil.c | |
355 | and pngtrans.c, that were introduced in version 1.0.1b | |
356 | Revised png_read_rows() to avoid repeated if-testing for NULL (A Kleinert) | |
357 | More corrections to example.c, use of row_pointers in png_write_image() | |
358 | and png_read_rows(). | |
359 | Added pngdll.mak and pngdef.pas to scripts directory, contributed by | |
360 | Bob Dellaca, to make a png32bd.dll with Borland C++ 4.5 | |
361 | Fixed error in example.c with png_set_text: num_text is 3, not 2 (Guido V.) | |
362 | Changed several loops from count-down to count-up, for consistency. | |
363 | version 1.0.1e [June 6, 1998] | |
364 | Revised libpng.txt and libpng.3 description of png_set_read|write_fn(), and | |
365 | added warnings when people try to set png_read_fn and png_write_fn in | |
366 | the same structure. | |
367 | Added a test such that png_do_gamma will be done when num_trans==0 | |
368 | for truecolor images that have defined a background. This corrects an | |
369 | error that was introduced in libpng-0.90 that can cause gamma processing | |
370 | to be skipped. | |
371 | Added tests in png.h to include "trans" and "trans_values" in structures | |
372 | when PNG_READ_BACKGROUND_SUPPORTED or PNG_READ_EXPAND_SUPPORTED is defined. | |
373 | Add png_free(png_ptr->time_buffer) in png_destroy_read_struct() | |
374 | Moved png_convert_to_rfc_1123() from pngwrite.c to png.c | |
375 | Added capability for user-provided malloc_fn() and free_fn() functions, | |
376 | and revised pngtest.c to demonstrate their use, replacing the | |
377 | PNGTEST_DEBUG_MEM feature. | |
378 | Added makefile.w32, for Microsoft C++ 4.0 and later (Tim Wegner). | |
706b8807 | 379 | |
75b6e0a0 GD |
380 | version 1.0.2 [June 14, 1998] |
381 | Fixed two bugs in makefile.bor . | |
382 | version 1.0.2a [December 30, 1998] | |
383 | Replaced and extended code that was removed from png_set_filler() in 1.0.1a. | |
384 | Fixed a bug in png_do_filler() that made it fail to write filler bytes in | |
385 | the left-most pixel of each row (Kevin Bracey). | |
386 | Changed "static pngcharp tIME_string" to "static char tIME_string[30]" | |
387 | in pngtest.c (Duncan Simpson). | |
388 | Fixed a bug in pngtest.c that caused pngtest to try to write a tIME chunk | |
389 | even when no tIME chunk was present in the source file. | |
390 | Fixed a problem in pngrutil.c: gray_to_rgb didn't always work with 16-bit. | |
391 | Fixed a problem in png_read_push_finish_row(), which would not skip some | |
392 | passes that it should skip, for images that are less than 3 pixels high. | |
393 | Interchanged the order of calls to png_do_swap() and png_do_shift() | |
394 | in pngwtran.c (John Cromer). | |
395 | Added #ifdef PNG_DEBUG/#endif surrounding use of PNG_DEBUG in png.h . | |
396 | Changed "bad adaptive filter type" from error to warning in pngrutil.c . | |
397 | Fixed a documentation error about default filtering with 8-bit indexed-color. | |
398 | Separated the PNG_NO_STDIO macro into PNG_NO_STDIO and PNG_NO_CONSOLE_IO | |
399 | (L. Peter Deutsch). | |
400 | Added png_set_rgb_to_gray() and png_get_rgb_to_gray_status() functions. | |
401 | Added png_get_copyright() and png_get_header_version() functions. | |
402 | Revised comments on png_set_progressive_read_fn() in libpng.txt and example.c | |
403 | Added information about debugging in libpng.txt and libpng.3 . | |
404 | Changed "ln -sf" to "ln -s -f" in makefile.s2x, makefile.lnx, and makefile.sco. | |
405 | Removed lines after Dynamic Dependencies" in makefile.aco . | |
406 | Revised makefile.dec to make a shared library (Jeremie Petit). | |
4946a942 | 407 | Removed trailing blanks from all files. |
75b6e0a0 GD |
408 | version 1.0.2a [January 6, 1999] |
409 | Removed misplaced #endif and #ifdef PNG_NO_EXTERN near the end of png.h | |
410 | Added "if" tests to silence complaints about unused png_ptr in png.h and png.c | |
411 | Changed "check_if_png" function in example.c to return true (nonzero) if PNG. | |
412 | Changed libpng.txt to demonstrate png_sig_cmp() instead of png_check_sig() | |
413 | which is obsolete. | |
706b8807 | 414 | |
75b6e0a0 GD |
415 | version 1.0.3 [January 14, 1999] |
416 | Added makefile.hux, for Hewlett Packard HPUX 10.20 and 11.00 (Jim Rice) | |
4946a942 GD |
417 | Added a statement of Y2K compliance in png.h, libpng.3, and Y2KINFO. |
418 | version 1.0.3a [August 12, 1999] | |
419 | Added check for PNG_READ_INTERLACE_SUPPORTED in pngread.c; issue a warning | |
420 | if an attempt is made to read an interlaced image when it's not supported. | |
421 | Added check if png_ptr->trans is defined before freeing it in pngread.c | |
422 | Modified the Y2K statement to include versions back to version 0.71 | |
423 | Fixed a bug in the check for valid IHDR bit_depth/color_types in pngrutil.c | |
424 | Modified makefile.wat (added -zp8 flag, ".symbolic", changed some comments) | |
425 | Replaced leading blanks with tab characters in makefile.hux | |
426 | Changed "dworkin.wustl.edu" to "ccrc.wustl.edu" in various documents. | |
427 | Changed (float)red and (float)green to (double)red, (double)green | |
428 | in png_set_rgb_to_gray() to avoid "promotion" problems in AIX. | |
429 | Fixed a bug in pngconf.h that omitted <stdio.h> when PNG_DEBUG==0 (K Bracey). | |
430 | Reformatted libpng.3 and libpngpf.3 with proper fonts (script by J. vanZandt). | |
431 | Updated documentation to refer to the PNG-1.2 specification. | |
432 | Removed ansi2knr.c and left pointers to the latest source for ansi2knr.c | |
433 | in makefile.knr, INSTALL, and README (L. Peter Deutsch) | |
434 | Fixed bugs in calculation of the length of rowbytes when adding alpha | |
435 | channels to 16-bit images, in pngrtran.c (Chris Nokleberg) | |
436 | Added function png_set_user_transform_info() to store user_transform_ptr, | |
437 | user_depth, and user_channels into the png_struct, and a function | |
438 | png_get_user_transform_ptr() to retrieve the pointer (Chris Nokleberg) | |
439 | Added function png_set_empty_plte_permitted() to make libpng useable | |
440 | in MNG applications. | |
441 | Corrected the typedef for png_free_ptr in png.h (Jesse Jones). | |
442 | Correct gamma with srgb is 45455 instead of 45000 in pngrutil.c, to be | |
443 | consistent with PNG-1.2, and allow variance of 500 before complaining. | |
444 | Added assembler code contributed by Intel in file pngvcrd.c and modified | |
445 | makefile.w32 to use it (Nirav Chhatrapati, INTEL Corporation, Gilles Vollant) | |
446 | Changed "ln -s -f" to "ln -f -s" in the makefiles to make Solaris happy. | |
447 | Added some aliases for png_set_expand() in pngrtran.c, namely | |
448 | png_set_expand_PLTE(), png_set_expand_depth(), and png_set_expand_tRNS() | |
449 | (Greg Roelofs, in "PNG: The Definitive Guide"). | |
450 | Added makefile.beo for BEOS on X86, contributed by Sander Stok. | |
451 | version 1.0.3b [August 26, 1999] | |
452 | Replaced 2147483647L several places with PNG_MAX_UINT macro, defined in png.h | |
453 | Changed leading blanks to tabs in all makefiles. | |
454 | Define PNG_USE_PNGVCRD in makefile.w32, to get MMX assembler code. | |
455 | Made alternate versions of png_set_expand() in pngrtran.c, namely | |
456 | png_set_gray_1_2_4_to_8, png_set_palette_to_rgb, and png_set_tRNS_to_alpha | |
457 | (Greg Roelofs, in "PNG: The Definitive Guide"). Deleted the 1.0.3a aliases. | |
458 | Relocated start of 'extern "C"' block in png.h so it doesn't include pngconf.h | |
459 | Revised calculation of num_blocks in pngmem.c to avoid a potentially | |
460 | negative shift distance, whose results are undefined in the C language. | |
461 | Added a check in pngset.c to prevent writing multiple tIME chunks. | |
462 | Added a check in pngwrite.c to detect invalid small window_bits sizes. | |
463 | version 1.0.3d [September 4, 1999] | |
464 | Fixed type casting of igamma in pngrutil.c | |
465 | Added new png_expand functions to scripts/pngdef.pas and pngos2.def | |
466 | Added a demo read_user_transform_fn that examines the row filters in pngtest.c | |
706b8807 | 467 | |
4946a942 GD |
468 | version 1.0.4 [September 24, 1999] |
469 | Define PNG_ALWAYS_EXTERN in pngconf.h if __STDC__ is defined | |
470 | Delete #define PNG_INTERNAL and include "png.h" from pngasmrd.h | |
471 | Made several minor corrections to pngtest.c | |
472 | Renamed the makefiles with longer but more user friendly extensions. | |
473 | Copied the PNG copyright and license to a separate LICENSE file. | |
474 | Revised documentation, png.h, and example.c to remove reference to | |
475 | "viewing_gamma" which no longer appears in the PNG specification. | |
476 | Revised pngvcrd.c to use MMX code for interlacing only on the final pass. | |
477 | Updated pngvcrd.c to use the faster C filter algorithms from libpng-1.0.1a | |
478 | Split makefile.win32vc into two versions, makefile.vcawin32 (uses MMX | |
479 | assembler code) and makefile.vcwin32 (doesn't). | |
480 | Added a CPU timing report to pngtest.c (enabled by defining PNGTEST_TIMING) | |
481 | Added a copy of pngnow.png to the distribution. | |
482 | version 1.0.4a [September 25, 1999] | |
483 | Increase max_pixel_depth in pngrutil.c if a user transform needs it. | |
484 | Changed several division operations to right-shifts in pngvcrd.c | |
485 | version 1.0.4b [September 30, 1999] | |
486 | Added parentheses in line 3732 of pngvcrd.c | |
487 | Added a comment in makefile.linux warning about buggy -O3 in pgcc 2.95.1 | |
488 | version 1.0.4c [October 1, 1999] | |
489 | Added a "png_check_version" function in png.c and pngtest.c that will generate | |
490 | a helpful compiler error if an old png.h is found in the search path. | |
491 | Changed type of png_user_transform_depth|channels from int to png_byte. | |
492 | version 1.0.4d [October 6, 1999] | |
493 | Changed 0.45 to 0.45455 in png_set_sRGB() | |
494 | Removed unused PLTE entries from pngnow.png | |
495 | Re-enabled some parts of pngvcrd.c (png_combine_row) that work properly. | |
496 | version 1.0.4e [October 10, 1999] | |
497 | Fixed sign error in pngvcrd.c (Greg Roelofs) | |
498 | Replaced some instances of memcpy with simple assignments in pngvcrd (GR-P) | |
499 | version 1.0.4f [October 15, 1999] | |
500 | Surrounded example.c code with #if 0 .. #endif to prevent people from | |
501 | inadvertently trying to compile it. | |
502 | Changed png_get_header_version() from a function to a macro in png.h | |
503 | Added type casting mostly in pngrtran.c and pngwtran.c | |
504 | Removed some pointless "ptr = NULL" in pngmem.c | |
505 | Added a "contrib" directory containing the source code from Greg's book. | |
706b8807 | 506 | |
4946a942 GD |
507 | version 1.0.5 [October 15, 1999] |
508 | Minor editing of the INSTALL and README files. | |
509 | version 1.0.5a [October 23, 1999] | |
510 | Added contrib/pngsuite and contrib/pngminus (Willem van Schaik) | |
511 | Fixed a typo in the png_set_sRGB() function call in example.c (Jan Nijtmans) | |
512 | Further optimization and bugfix of pngvcrd.c | |
513 | Revised pngset.c so that it does not allocate or free memory in the user's | |
514 | text_ptr structure. Instead, it makes its own copy. | |
515 | Created separate write_end_info_struct in pngtest.c for a more severe test. | |
516 | Added code in pngwrite.c to free info_ptr->text[i].key to stop a memory leak. | |
517 | version 1.0.5b [November 23, 1999] | |
518 | Moved PNG_FLAG_HAVE_CHUNK_HEADER, PNG_FLAG_BACKGROUND_IS_GRAY and | |
519 | PNG_FLAG_WROTE_tIME from flags to mode. | |
520 | Added png_write_info_before_PLTE() function. | |
521 | Fixed some typecasting in contrib/gregbook/*.c | |
522 | Updated scripts/makevms.com and added makevms.com to contrib/gregbook | |
523 | and contrib/pngminus (Martin Zinser) | |
524 | version 1.0.5c [November 26, 1999] | |
525 | Moved png_get_header_version from png.h to png.c, to accomodate ansi2knr. | |
526 | Removed all global arrays (according to PNG_NO_GLOBAL_ARRAYS macro), to | |
527 | accomodate making DLL's: Moved usr_png_ver from global variable to function | |
528 | png_get_header_ver() in png.c. Moved png_sig to png_sig_bytes in png.c and | |
529 | eliminated use of png_sig in pngwutil.c. Moved the various png_CHNK arrays | |
530 | into pngtypes.h. Eliminated use of global png_pass arrays. Declared the | |
531 | png_CHNK and png_pass arrays to be "const". Made the global arrays | |
532 | available to applications (although none are used in libpng itself) when | |
533 | PNG_NO_GLOBAL_ARRAYS is not defined or when PNG_GLOBAL_ARRAYS is defined. | |
534 | Removed some extraneous "-I" from contrib/pngminus/makefile.std | |
535 | Changed the PNG_sRGB_INTENT macros in png.h to be consistent with PNG-1.2. | |
536 | Change PNG_SRGB_INTENT to PNG_sRGB_INTENT in libpng.txt and libpng.3 | |
537 | version 1.0.5d [November 29, 1999] | |
538 | Add type cast (png_const_charp) two places in png.c | |
539 | Eliminated pngtypes.h; use macros instead to declare PNG_CHNK arrays. | |
540 | Renamed "PNG_GLOBAL_ARRAYS" to "PNG_USE_GLOBAL_ARRAYS" and made available | |
541 | to applications a macro "PNG_USE_LOCAL_ARRAYS". | |
542 | #ifdef out all the new declarations when PNG_USE_GLOBAL_ARRAYS is defined. | |
543 | Added PNG_EXPORT_VAR macro to accommodate making DLL's. | |
544 | version 1.0.5e [November 30, 1999] | |
545 | Added iCCP, iTXt, and sPLT support; added "lang" member to the png_text | |
546 | structure; refactored the inflate/deflate support to make adding new chunks | |
547 | with trailing compressed parts easier in the future, and added new functions | |
548 | png_free_iCCP, png_free_pCAL, png_free_sPLT, png_free_text, png_get_iCCP, | |
549 | png_get_spalettes, png_set_iCCP, png_set_spalettes (Eric S. Raymond). | |
550 | NOTE: Applications that write text chunks MUST define png_text->lang | |
551 | before calling png_set_text(). It must be set to NULL if you want to | |
552 | write tEXt or zTXt chunks. If you want your application to be able to | |
553 | run with older versions of libpng, use | |
554 | ||
555 | #ifdef PNG_iTXt_SUPPORTED | |
556 | png_text[i].lang = NULL; | |
557 | #endif | |
558 | ||
559 | Changed png_get_oFFs() and png_set_oFFs() to use signed rather than unsigned | |
560 | offsets (Eric S. Raymond). | |
561 | Combined PNG_READ_cHNK_SUPPORTED and PNG_WRITE_cHNK_SUPPORTED macros into | |
562 | PNG_cHNK_SUPPORTED and combined the three types of PNG_text_SUPPORTED | |
563 | macros, leaving the separate macros also available. | |
564 | Removed comments on #endifs at the end of many short, non-nested #if-blocks. | |
565 | version 1.0.5f [December 6, 1999] | |
566 | Changed makefile.solaris to issue a warning about potential problems when | |
567 | the ucb "ld" is in the path ahead of the ccs "ld". | |
568 | Removed "- [date]" from the "synopsis" line in libpng.3 and libpngpf.3. | |
569 | Added sCAL chunk support (Eric S. Raymond). | |
570 | version 1.0.5g [December 7, 1999] | |
571 | Fixed "png_free_spallettes" typo in png.h | |
572 | Added code to handle new chunks in pngpread.c | |
573 | Moved PNG_CHNK string macro definitions outside of PNG_NO_EXTERN block | |
574 | Added "translated_key" to png_text structure and png_write_iTXt(). | |
575 | Added code in pngwrite.c to work around a newly discovered zlib bug. | |
576 | version 1.0.5h [December 10, 1999] | |
577 | NOTE: regarding the note for version 1.0.5e, the following must also | |
578 | be included in your code: | |
579 | png_text[i].translated_key = NULL; | |
580 | Unknown chunk handling is now supported. | |
581 | Option to eliminate all floating point support was added. Some new | |
582 | fixed-point functions such as png_set_gAMA_fixed() were added. | |
583 | Expanded tabs and removed trailing blanks in source files. | |
584 | version 1.0.5i [December 13, 1999] | |
585 | Added some type casts to silence compiler warnings. | |
586 | Renamed "png_free_spalette" to "png_free_spalettes" for consistency. | |
587 | Removed leading blanks from a #define in pngvcrd.c | |
588 | Added some parameters to the new png_set_keep_unknown_chunks() function. | |
589 | Added a test for up->location != 0 in the first instance of writing | |
590 | unknown chunks in pngwrite.c | |
591 | Changed "num" to "i" in png_free_spalettes() and png_free_unknowns() to | |
592 | prevent recursion. | |
593 | Added png_free_hIST() function. | |
594 | Various patches to fix bugs in the sCAL and integer cHRM processing, | |
595 | and to add some convenience macros for use with sCAL. | |
596 | version 1.0.5j [December 21, 1999] | |
597 | Changed "unit" parameter of png_write_sCAL from png_byte to int, to work | |
598 | around buggy compilers. | |
599 | Added new type "png_fixed_point" for integers that hold float*100000 values | |
600 | Restored backward compatibility of tEXt/zTXt chunk processing: | |
601 | Restored the first four members of png_text to the same order as v.1.0.5d. | |
602 | Added members "lang_key" and "itxt_length" to png_text struct. Set | |
603 | text_length=0 when "text" contains iTXt data. Use the "compression" | |
604 | member to distinguish among tEXt/zTXt/iTXt types. Added | |
605 | PNG_ITXT_COMPRESSION_NONE (1) and PNG_ITXT_COMPRESSION_zTXt(2) macros. | |
606 | The "Note" above, about backward incompatibility of libpng-1.0.5e, no | |
607 | longer applies. | |
608 | Fixed png_read|write_iTXt() to read|write parameters in the right order, | |
609 | and to write the iTXt chunk after IDAT if it appears in the end_ptr. | |
610 | Added pnggccrd.c, version of pngvcrd.c Intel assembler for gcc (Greg Roelofs) | |
611 | Reversed the order of trying to write floating-point and fixed-point gAMA. | |
612 | version 1.0.5k [December 27, 1999] | |
613 | Added many parentheses, e.g., "if (a && b & c)" becomes "if (a && (b & c))" | |
614 | Added png_handle_as_unknown() function (Glenn) | |
615 | Added png_free_chunk_list() function and chunk_list and num_chunk_list members | |
616 | of png_ptr. | |
617 | Eliminated erroneous warnings about multiple sPLT chunks and sPLT-after-PLTE. | |
618 | Fixed a libpng-1.0.5h bug in pngrutil.c that was issuing erroneous warnings | |
619 | about ignoring incorrect gAMA with sRGB (gAMA was in fact not ignored) | |
620 | Added png_free_tRNS(); png_set_tRNS() now malloc's its own trans array (ESR). | |
621 | Define png_get_int_32 when oFFs chunk is supported as well as when pCAL is. | |
622 | Changed type of proflen from png_int_32 to png_uint_32 in png_get_iCCP(). | |
623 | version 1.0.5l [January 1, 2000] | |
624 | Added functions png_set_read_user_chunk_fn() and png_get_user_chunk_ptr() | |
625 | for setting a callback function to handle unknown chunks and for | |
626 | retrieving the associated user pointer (Glenn). | |
627 | version 1.0.5m [January 7, 2000] | |
628 | Added high-level functions png_read_png(), png_write_png(), png_free_pixels(). | |
629 | version 1.0.5n [January 9, 2000] | |
630 | Added png_free_PLTE() function, and modified png_set_PLTE() to malloc its | |
631 | own memory for info_ptr->palette. This makes it safe for the calling | |
632 | application to free its copy of the palette any time after it calls | |
633 | png_set_PLTE(). | |
634 | version 1.0.5o [January 20, 2000] | |
635 | Cosmetic changes only (removed some trailing blanks and TABs) | |
636 | version 1.0.5p [January 31, 2000] | |
637 | Renamed pngdll.mak to makefile.bd32 | |
638 | Cosmetic changes in pngtest.c | |
639 | version 1.0.5q [February 5, 2000] | |
640 | Relocated the makefile.solaris warning about PATH problems. | |
641 | Fixed pngvcrd.c bug by pushing/popping registers in mmxsupport (Bruce Oberg) | |
642 | Revised makefile.gcmmx | |
643 | Added PNG_SETJMP_SUPPORTED, PNG_SETJMP_NOT_SUPPORTED, and PNG_ABORT() macros | |
644 | version 1.0.5r [February 7, 2000] | |
645 | Removed superfluous prototype for png_get_itxt from png.h | |
646 | Fixed a bug in pngrtran.c that improperly expanded the background color. | |
647 | Return *num_text=0 from png_get_text() when appropriate, and fix documentation | |
648 | of png_get_text() in libpng.txt/libpng.3. | |
649 | version 1.0.5s [February 18, 2000] | |
650 | Added "png_jmp_env()" macro to pngconf.h, to help people migrate to the | |
651 | new error handler that's planned for the next libpng release, and changed | |
652 | example.c, pngtest.c, and contrib programs to use this macro. | |
653 | Revised some of the DLL-export macros in pngconf.h (Greg Roelofs) | |
654 | Fixed a bug in png_read_png() that caused it to fail to expand some images | |
655 | that it should have expanded. | |
656 | Fixed some mistakes in the unused and undocumented INCH_CONVERSIONS functions | |
657 | in pngget.c | |
658 | Changed the allocation of palette, history, and trans arrays back to | |
659 | the version 1.0.5 method (linking instead of copying) which restores | |
660 | backward compatibility with version 1.0.5. Added some remarks about | |
661 | that in example.c. Added "free_me" member to info_ptr and png_ptr | |
662 | and added png_free_data() function. | |
663 | Updated makefile.linux and makefile.gccmmx to make directories conditionally. | |
664 | Made cosmetic changes to pngasmrd.h | |
665 | Added png_set_rows() and png_get_rows(), for use with png_read|write_png(). | |
666 | Modified png_read_png() to allocate info_ptr->row_pointers only if it | |
667 | hasn't already been allocated. | |
668 | version 1.0.5t [March 4, 2000] | |
669 | Changed png_jmp_env() migration aiding macro to png_jmpbuf(). | |
670 | Fixed "interlace" typo (should be "interlaced") in contrib/gregbook/read2-x.c | |
671 | Fixed bug with use of PNG_BEFORE_IHDR bit in png_ptr->mode, introduced when | |
672 | PNG_FLAG_HAVE_CHUNK_HEADER was moved into png_ptr->mode in version 1.0.5b | |
673 | Files in contrib/gregbook were revised to use png_jmpbuf() and to select | |
674 | a 24-bit visual if one is available, and to allow abbreviated options. | |
675 | Files in contrib/pngminus were revised to use the png_jmpbuf() macro. | |
676 | Removed spaces in makefile.linux and makefile.gcmmx, introduced in 1.0.5s | |
677 | version 1.0.5u [March 5, 2000] | |
678 | Simplified the code that detects old png.h in png.c and pngtest.c | |
679 | Renamed png_spalette (_p, _pp) to png_sPLT_t (_tp, _tpp) | |
680 | Increased precision of rgb_to_gray calculations from 8 to 15 bits and | |
681 | added png_set_rgb_to_gray_fixed() function. | |
682 | Added makefile.bc32 (32-bit Borland C++, C mode) | |
683 | version 1.0.5v [March 11, 2000] | |
684 | Added some parentheses to the png_jmpbuf macro definition. | |
685 | Updated references to the zlib home page, which has moved to freesoftware.com. | |
686 | Corrected bugs in documentation regarding png_read_row() and png_write_row(). | |
687 | Updated documentation of png_rgb_to_gray calculations in libpng.3/libpng.txt. | |
688 | Renamed makefile.borland,turboc3 back to makefile.bor,tc3 as in version 1.0.3, | |
689 | revised borland makefiles; added makefile.ibmvac3 and makefile.gcc (Cosmin) | |
706b8807 | 690 | |
4946a942 GD |
691 | version 1.0.6 [March 20, 2000] |
692 | Minor revisions of makefile.bor, libpng.txt, and gregbook/rpng2-win.c | |
693 | Added makefile.sggcc (SGI IRIX with gcc) | |
694 | version 1.0.6d [April 7, 2000] | |
695 | Changed sprintf() to strcpy() in png_write_sCAL_s() to work without STDIO | |
696 | Added data_length parameter to png_decompress_chunk() function | |
697 | Revised documentation to remove reference to abandoned png_free_chnk functions | |
698 | Fixed an error in png_rgb_to_gray_fixed() | |
699 | Revised example.c, usage of png_destroy_write_struct(). | |
700 | Renamed makefile.ibmvac3 to makefile.ibmc, added libpng.icc IBM project file | |
701 | Added a check for info_ptr->free_me&PNG_FREE_TEXT when freeing text in png.c | |
702 | Simplify png_sig_bytes() function to remove use of non-ISO-C strdup(). | |
703 | version 1.0.6e [April 9, 2000] | |
704 | Added png_data_freer() function. | |
705 | In the code that checks for over-length tRNS chunks, added check of | |
706 | info_ptr->num_trans as well as png_ptr->num_trans (Matthias Benckmann) | |
707 | Minor revisions of libpng.txt/libpng.3. | |
708 | Check for existing data and free it if the free_me flag is set, in png_set_*() | |
709 | and png_handle_*(). | |
710 | Only define PNG_WEIGHTED_FILTERS_SUPPORTED when PNG_FLOATING_POINT_SUPPORTED | |
711 | is defined. | |
712 | Changed several instances of PNG_NO_CONSOLE_ID to PNG_NO_STDIO in pngrutil.c | |
713 | and mentioned the purposes of the two macros in libpng.txt/libpng.3. | |
714 | version 1.0.6f [April 14, 2000] | |
715 | Revised png_set_iCCP() and png_set_rows() to avoid prematurely freeing data. | |
716 | Add checks in png_set_text() for NULL members of the input text structure. | |
717 | Revised libpng.txt/libpng.3. | |
718 | Removed superfluous prototype for png_set_itxt from png.h | |
719 | Removed "else" from pngread.c, after png_error(), and changed "0" to "length". | |
720 | Changed several png_errors about malformed ancillary chunks to png_warnings. | |
721 | version 1.0.6g [April 24, 2000] | |
722 | Added png_pass-* arrays to pnggccrd.c when PNG_USE_LOCAL_ARRAYS is defined. | |
723 | Relocated paragraph about png_set_background() in libpng.3/libpng.txt | |
724 | and other revisions (Matthias Benckmann) | |
725 | Relocated info_ptr->free_me, png_ptr->free_me, and other info_ptr and | |
726 | png_ptr members to restore binary compatibility with libpng-1.0.5 | |
727 | (breaks compatibility with libpng-1.0.6). | |
728 | version 1.0.6h [April 24, 2000] | |
729 | Changed shared library so-number pattern from 2.x.y.z to xy.z (this builds | |
730 | libpng.so.10 & libpng.so.10.6h instead of libpng.so.2 & libpng.so.2.1.0.6h) | |
731 | This is a temporary change for test purposes. | |
732 | version 1.0.6i [May 2, 2000] | |
733 | Rearranged some members at the end of png_info and png_struct, to put | |
734 | unknown_chunks_num and free_me within the original size of the png_structs | |
735 | and free_me, png_read_user_fn, and png_free_fn within the original png_info, | |
736 | because some old applications allocate the structs directly instead of | |
737 | using png_create_*(). | |
738 | Added documentation of user memory functions in libpng.txt/libpng.3 | |
739 | Modified png_read_png so that it will use user_allocated row_pointers | |
740 | if present, unless free_me directs that it be freed, and added description | |
741 | of the use of png_set_rows() and png_get_rows() in libpng.txt/libpng.3. | |
742 | Added PNG_LEGACY_SUPPORTED macro, and #ifdef out all new (since version | |
743 | 1.00) members of png_struct and png_info, to regain binary compatibility | |
744 | when you define this macro. Capabilities lost in this event | |
745 | are user transforms (new in version 1.0.0),the user transform pointer | |
746 | (new in version 1.0.2), rgb_to_gray (new in 1.0.5), iCCP, sCAL, sPLT, | |
747 | the high-level interface, and unknown chunks support (all new in 1.0.6). | |
748 | This was necessary because of old applications that allocate the structs | |
749 | directly as authors were instructed to do in libpng-0.88 and earlier, | |
750 | instead of using png_create_*(). | |
751 | Added modes PNG_CREATED_READ_STRUCT and PNG_CREATED_WRITE_STRUCT which | |
752 | can be used to detect codes that directly allocate the structs, and | |
753 | code to check these modes in png_read_init() and png_write_init() and | |
754 | generate a libpng error if the modes aren't set and PNG_LEGACY_SUPPORTED | |
755 | was not defined. | |
756 | Added makefile.intel and updated makefile.watcom (Pawel Mrochen) | |
757 | version 1.0.6j [May 3, 2000] | |
758 | Overloaded png_read_init() and png_write_init() with macros that convert | |
759 | calls to png_read_init_2() or png_write_init_2() that check the version | |
760 | and structure sizes. | |
761 | version 1.0.7beta11 [May 7, 2000] | |
762 | Removed the new PNG_CREATED_READ_STRUCT and PNG_CREATED_WRITE_STRUCT modes | |
763 | which are no longer used. | |
764 | Eliminated the three new members of png_text when PNG_LEGACY_SUPPORTED is | |
765 | defined or when neither PNG_READ_iTXt_SUPPORTED nor PNG_WRITE_iTXT_SUPPORTED | |
766 | is defined. | |
767 | Made PNG_NO_READ|WRITE_iTXt the default setting, to avoid memory | |
768 | overrun when old applications fill the info_ptr->text structure directly. | |
769 | Added PNGAPI macro, and added it to the definitions of all exported functions. | |
770 | Relocated version macro definitions ahead of the includes of zlib.h and | |
771 | pngconf.h in png.h. | |
772 | version 1.0.7beta12 [May 12, 2000] | |
773 | Revised pngset.c to avoid a problem with expanding the png_debug macro. | |
774 | Deleted some extraneous defines from pngconf.h | |
775 | Made PNG_NO_CONSOLE_IO the default condition when PNG_BUILD_DLL is defined. | |
776 | Use MSC _RPTn debugging instead of fprintf if _MSC_VER is defined. | |
777 | Added png_access_version_number() function. | |
778 | Check for mask&PNG_FREE_CHNK (for TEXT, SCAL, PCAL) in png_free_data(). | |
779 | Expanded libpng.3/libpng.txt information about png_data_freer(). | |
780 | version 1.0.7beta14 [May 17, 2000] (beta13 was not published) | |
781 | Changed pnggccrd.c and pngvcrd.c to handle bad adaptive filter types as | |
782 | warnings instead of errors, as pngrutil.c does. | |
783 | Set the PNG_INFO_IDAT valid flag in png_set_rows() so png_write_png() | |
784 | will actually write IDATs. | |
785 | Made the default PNG_USE_LOCAL_ARRAYS depend on PNG_DLL instead of WIN32. | |
786 | Make png_free_data() ignore its final parameter except when freeing data | |
787 | that can have multiple instances (text, sPLT, unknowns). | |
788 | Fixed a new bug in png_set_rows(). | |
789 | Removed info_ptr->valid tests from png_free_data(), as in version 1.0.5. | |
790 | Added png_set_invalid() function. | |
791 | Fixed incorrect illustrations of png_destroy_write_struct() in example.c. | |
792 | version 1.0.7beta15 [May 30, 2000] | |
793 | Revised the deliberately erroneous Linux setjmp code in pngconf.h to produce | |
794 | fewer error messages. | |
795 | Rearranged checks for Z_OK to check the most likely path first in pngpread.c | |
796 | and pngwutil.c. | |
797 | Added checks in pngtest.c for png_create_*() returning NULL, and mentioned | |
798 | in libpng.txt/libpng.3 the need for applications to check this. | |
799 | Changed names of png_default_*() functions in pngtest to pngtest_*(). | |
800 | Changed return type of png_get_x|y_offset_*() from png_uint_32 to png_int_32. | |
801 | Fixed some bugs in the unused PNG_INCH_CONVERSIONS functions in pngget.c | |
802 | Set each pointer to NULL after freeing it in png_free_data(). | |
803 | Worked around a problem in pngconf.h; AIX's strings.h defines an "index" | |
804 | macro that conflicts with libpng's png_color_16.index. (Dimitri Papadapoulos) | |
805 | Added "msvc" directory with MSVC++ project files (Simon-Pierre Cadieux). | |
806 | version 1.0.7beta16 [June 4, 2000] | |
807 | Revised the workaround of AIX string.h "index" bug. | |
808 | Added a check for overlength PLTE chunk in pngrutil.c. | |
809 | Added PNG_NO_POINTER_INDEXING macro to use array-indexing instead of pointer | |
810 | indexing in pngrutil.c and pngwutil.c to accommodate a buggy compiler. | |
811 | Added a warning in png_decompress_chunk() when it runs out of data, e.g. | |
812 | when it tries to read an erroneous PhotoShop iCCP chunk. | |
813 | Added PNG_USE_DLL macro. | |
814 | Revised the copyright/disclaimer/license notice. | |
815 | Added contrib/msvctest directory | |
816 | version 1.0.7rc1 [June 9, 2000] | |
817 | Corrected the definition of PNG_TRANSFORM_INVERT_ALPHA (0x0400 not 0x0200) | |
818 | Added contrib/visupng directory (Willem van Schaik) | |
819 | version 1.0.7beta18 [June 23, 2000] | |
820 | Revised PNGAPI definition, and pngvcrd.c to work with __GCC__ | |
821 | and do not redefine PNGAPI if it is passed in via a compiler directive. | |
822 | Revised visupng/PngFile.c to remove returns from within the Try block. | |
823 | Removed leading underscores from "_PNG_H" and "_PNG_SAVE_BSD_SOURCE" macros. | |
824 | Updated contrib/visupng/cexcept.h to version 1.0.0. | |
825 | Fixed bugs in pngwrite.c and pngwutil.c that prevented writing iCCP chunks. | |
826 | version 1.0.7rc2 [June 28, 2000] | |
827 | Updated license to include disclaimers required by UCITA. | |
828 | Fixed "DJBPP" typo in pnggccrd.c introduced in beta18. | |
706b8807 | 829 | |
4946a942 GD |
830 | version 1.0.7 [July 1, 2000] |
831 | Revised the definition of "trans_values" in libpng.3/libpng.txt | |
832 | version 1.0.8beta1 [July 8, 2000] | |
833 | Added png_free(png_ptr, key) two places in pngpread.c to stop memory leaks. | |
834 | Changed PNG_NO_STDIO to PNG_NO_CONSOLE_IO, several places in pngrutil.c and | |
835 | pngwutil.c. | |
836 | Changed PNG_EXPORT_VAR to use PNG_IMPEXP, in pngconf.h. | |
837 | Removed unused "#include <assert.h>" from png.c | |
838 | Added WindowsCE support. | |
839 | Revised pnggccrd.c to work with gcc-2.95.2 and in the Cygwin environment. | |
840 | version 1.0.8beta2 [July 10, 2000] | |
841 | Added project files to the wince directory and made further revisions | |
842 | of pngtest.c, pngrio.c, and pngwio.c in support of WindowsCE. | |
843 | version 1.0.8beta3 [July 11, 2000] | |
844 | Only set the PNG_FLAG_FREE_TRNS or PNG_FREE_TRNS flag in png_handle_tRNS() | |
845 | for indexed-color input files to avoid potential double-freeing trans array | |
846 | under some unusual conditions; problem was introduced in version 1.0.6f. | |
847 | Further revisions to pngtest.c and files in the wince subdirectory. | |
848 | version 1.0.8beta4 [July 14, 2000] | |
849 | Added the files pngbar.png and pngbar.jpg to the distribution. | |
850 | Added makefile.cygwin, and cygwin support in pngconf.h | |
851 | Added PNG_NO_ZALLOC_ZERO macro (makes png_zalloc skip zeroing memory) | |
852 | version 1.0.8rc1 [July 16, 2000] | |
853 | Revised png_debug() macros and statements to eliminate compiler warnings. | |
706b8807 | 854 | |
4946a942 GD |
855 | version 1.0.8 [July 24, 2000] |
856 | Added png_flush() in pngwrite.c, after png_write_IEND(). | |
857 | Updated makefile.hpux to build a shared library. | |
858 | version 1.0.9beta1 [November 10, 2000] | |
859 | Fixed typo in scripts/makefile.hpux | |
860 | Updated makevms.com in scripts and contrib/* and contrib/* (Martin Zinser) | |
861 | Fixed seqence-point bug in contrib/pngminus/png2pnm (Martin Zinser) | |
862 | Changed "cdrom.com" in documentation to "libpng.org" | |
863 | Revised pnggccrd.c to get it all working, and updated makefile.gcmmx (Greg). | |
864 | Changed type of "params" from voidp to png_voidp in png_read|write_png(). | |
865 | Make sure PNGAPI and PNG_IMPEXP are defined in pngconf.h. | |
866 | Revised the 3 instances of WRITEFILE in pngtest.c. | |
867 | Relocated "msvc" and "wince" project subdirectories into "dll" subdirectory. | |
868 | Updated png.rc in dll/msvc project | |
869 | Revised makefile.dec to define and use LIBPATH and INCPATH | |
870 | Increased size of global png_libpng_ver[] array from 12 to 18 chars. | |
871 | Made global png_libpng_ver[], png_sig[] and png_pass_*[] arrays const. | |
872 | Removed duplicate png_crc_finish() from png_handle_bKGD() function. | |
873 | Added a warning when application calls png_read_update_info() multiple times. | |
874 | Revised makefile.cygwin | |
875 | Fixed bugs in iCCP support in pngrutil.c and pngwutil.c. | |
876 | Replaced png_set_empty_plte_permitted() with png_permit_mng_features(). | |
877 | version 1.0.9beta2 [November 19, 2000] | |
878 | Renamed the "dll" subdirectory "projects". | |
879 | Added borland project files to "projects" subdirectory. | |
880 | Set VS_FF_PRERELEASE and VS_FF_PATCHED flags in msvc/png.rc when appropriate. | |
881 | Add error message in png_set_compression_buffer_size() when malloc fails. | |
882 | version 1.0.9beta3 [November 23, 2000] | |
883 | Revised PNG_LIBPNG_BUILD_TYPE macro in png.h, used in the msvc project. | |
884 | Removed the png_flush() in pngwrite.c that crashes some applications | |
885 | that don't set png_output_flush_fn. | |
886 | Added makefile.macosx and makefile.aix to scripts directory. | |
887 | version 1.0.9beta4 [December 1, 2000] | |
888 | Change png_chunk_warning to png_warning in png_check_keyword(). | |
889 | Increased the first part of msg buffer from 16 to 18 in png_chunk_error(). | |
890 | version 1.0.9beta5 [December 15, 2000] | |
891 | Added support for filter method 64 (for PNG datastreams embedded in MNG). | |
892 | version 1.0.9beta6 [December 18, 2000] | |
893 | Revised png_set_filter() to accept filter method 64 when appropriate. | |
894 | Added new PNG_HAVE_PNG_SIGNATURE bit to png_ptr->mode and use it to | |
895 | help prevent applications from using MNG features in PNG datastreams. | |
896 | Added png_permit_mng_features() function. | |
897 | Revised libpng.3/libpng.txt. Changed "filter type" to "filter method". | |
898 | version 1.0.9rc1 [December 23, 2000] | |
899 | Revised test for PNG_HAVE_PNG_SIGNATURE in pngrutil.c | |
900 | Fixed error handling of unknown compression type in png_decompress_chunk(). | |
901 | In pngconf.h, define __cdecl when _MSC_VER is defined. | |
902 | version 1.0.9beta7 [December 28, 2000] | |
903 | Changed PNG_TEXT_COMPRESSION_zTXt to PNG_COMPRESSION_TYPE_BASE several places. | |
904 | Revised memory management in png_set_hIST and png_handle_hIST in a backward | |
905 | compatible manner. PLTE and tRNS were revised similarly. | |
906 | Revised the iCCP chunk reader to ignore trailing garbage. | |
907 | version 1.0.9beta8 [January 12, 2001] | |
908 | Moved pngasmrd.h into pngconf.h. | |
909 | Improved handling of out-of-spec garbage iCCP chunks generated by PhotoShop. | |
910 | version 1.0.9beta9 [January 15, 2001] | |
911 | Added png_set_invalid, png_permit_mng_features, and png_mmx_supported to | |
912 | wince and msvc project module definition files. | |
913 | Minor revision of makefile.cygwin. | |
914 | Fixed bug with progressive reading of narrow interlaced images in pngpread.c | |
915 | version 1.0.9beta10 [January 16, 2001] | |
916 | Do not typedef png_FILE_p in pngconf.h when PNG_NO_STDIO is defined. | |
917 | Fixed "png_mmx_supported" typo in project definition files. | |
918 | version 1.0.9beta11 [January 19, 2001] | |
919 | Updated makefile.sgi to make shared library. | |
920 | Removed png_mmx_support() function and disabled PNG_MNG_FEATURES_SUPPORTED | |
921 | by default, for the benefit of DLL forward compatibility. These will | |
922 | be re-enabled in version 1.2.0. | |
923 | version 1.0.9rc2 [January 22, 2001] | |
924 | Revised cygwin support. | |
706b8807 | 925 | |
4946a942 GD |
926 | version 1.0.9 [January 31, 2001] |
927 | Added check of cygwin's ALL_STATIC in pngconf.h | |
928 | Added "-nommx" parameter to contrib/gregbook/rpng2-win and rpng2-x demos. | |
929 | version 1.0.10beta1 [March 14, 2001] | |
930 | Revised makefile.dec, makefile.sgi, and makefile.sggcc; added makefile.hpgcc. | |
931 | Reformatted libpng.3 to eliminate bad line breaks. | |
932 | Added checks for _mmx_supported in the read_filter_row function of pnggccrd.c | |
933 | Added prototype for png_mmx_support() near the top of pnggccrd.c | |
934 | Moved some error checking from png_handle_IHDR to png_set_IHDR. | |
935 | Added PNG_NO_READ_SUPPORTED and PNG_NO_WRITE_SUPPORTED macros. | |
936 | Revised png_mmx_support() function in pnggccrd.c | |
937 | Restored version 1.0.8 PNG_WRITE_EMPTY_PLTE_SUPPORTED behavior in pngwutil.c | |
938 | Fixed memory leak in contrib/visupng/PngFile.c | |
939 | Fixed bugs in png_combine_row() in pnggccrd.c and pngvcrd.c (C version) | |
940 | Added warnings when retrieving or setting gamma=0. | |
941 | Increased the first part of msg buffer from 16 to 18 in png_chunk_warning(). | |
942 | version 1.0.10rc1 [March 23, 2001] | |
943 | Changed all instances of memcpy, strcpy, and strlen to png_memcpy, png_strcpy, | |
944 | and png_strlen. | |
945 | Revised png_mmx_supported() function in pnggccrd.c to return proper value. | |
946 | Fixed bug in progressive reading (pngpread.c) with small images (height < 8). | |
706b8807 | 947 | |
4946a942 GD |
948 | version 1.0.10 [March 30, 2001] |
949 | Deleted extraneous space (introduced in 1.0.9) from line 42 of makefile.cygwin | |
950 | Added beos project files (Chris Herborth) | |
951 | version 1.0.11beta1 [April 3, 2001] | |
952 | Added type casts on several png_malloc() calls (Dimitri Papadapoulos). | |
953 | Removed a no-longer needed AIX work-around from pngconf.h | |
954 | Changed several "//" single-line comments to C-style in pnggccrd.c | |
955 | version 1.0.11beta2 [April 11, 2001] | |
956 | Removed PNGAPI from several functions whose prototypes did not have PNGAPI. | |
957 | Updated scripts/pngos2.def | |
958 | version 1.0.11beta3 [April 14, 2001] | |
959 | Added checking the results of many instances of png_malloc() for NULL | |
960 | version 1.0.11beta4 [April 20, 2001] | |
961 | Undid the changes from version 1.0.11beta3. Added a check for NULL return | |
962 | from user's malloc_fn(). | |
963 | Removed some useless type casts of the NULL pointer. | |
964 | Added makefile.netbsd | |
706b8807 | 965 | |
4946a942 GD |
966 | version 1.0.11 [April 27, 2001] |
967 | Revised makefile.netbsd | |
968 | version 1.0.12beta1 [May 14, 2001] | |
969 | Test for Windows platform in pngconf.h when including malloc.h (Emmanuel Blot) | |
970 | Updated makefile.cygwin and handling of Cygwin's ALL_STATIC in pngconf.h | |
971 | Added some never-to-be-executed code in pnggccrd.c to quiet compiler warnings. | |
972 | Eliminated the png_error about apps using png_read|write_init(). Instead, | |
973 | libpng will reallocate the png_struct and info_struct if they are too small. | |
974 | This retains future binary compatibility for old applications written for | |
975 | libpng-0.88 and earlier. | |
976 | version 1.2.0beta1 [May 6, 2001] | |
977 | Bumped DLLNUM to 2. | |
978 | Re-enabled PNG_MNG_FEATURES_SUPPORTED and enabled PNG_ASSEMBLER_CODE_SUPPORTED | |
979 | by default. | |
980 | Added runtime selection of MMX features. | |
981 | Added png_set_strip_error_numbers function and related macros. | |
982 | version 1.2.0beta2 [May 7, 2001] | |
983 | Finished merging 1.2.0beta1 with version 1.0.11 | |
984 | Added a check for attempts to read or write PLTE in grayscale PNG datastreams. | |
985 | version 1.2.0beta3 [May 17, 2001] | |
986 | Enabled user memory function by default. | |
987 | Modified png_create_struct so it passes user mem_ptr to user memory allocator. | |
988 | Increased png_mng_features flag from png_byte to png_uint_32. | |
989 | Bumped shared-library (so-number) and dll-number to 3. | |
990 | version 1.2.0beta4 [June 23, 2001] | |
991 | Check for missing profile length field in iCCP chunk and free chunk_data | |
992 | in case of truncated iCCP chunk. | |
993 | Bumped shared-library number to 3 in makefile.sgi and makefile.sggcc | |
994 | Bumped dll-number from 2 to 3 in makefile.cygwin | |
995 | Revised contrib/gregbook/rpng*-x.c to avoid a memory leak and to exit cleanly | |
996 | if user attempts to run it on an 8-bit display. | |
997 | Updated contrib/gregbook | |
998 | Use png_malloc instead of png_zalloc to allocate palette in pngset.c | |
999 | Updated makefile.ibmc | |
1000 | Added some typecasts to eliminate gcc 3.0 warnings. Changed prototypes | |
1001 | of png_write_oFFS width and height from png_uint_32 to png_int_32. | |
1002 | Updated example.c | |
1003 | Revised prototypes for png_debug_malloc and png_debug_free in pngtest.c | |
1004 | version 1.2.0beta5 [August 8, 2001] | |
1005 | Revised contrib/gregbook | |
1006 | Revised makefile.gcmmx | |
1007 | Revised pnggccrd.c to conditionally compile some thread-unsafe code only | |
1008 | when PNG_THREAD_UNSAFE_OK is defined. | |
1009 | Added tests to prevent pngwutil.c from writing a bKGD or tRNS chunk with | |
1010 | value exceeding 2^bit_depth-1 | |
1011 | Revised makefile.sgi and makefile.sggcc | |
1012 | Replaced calls to fprintf(stderr,...) with png_warning() in pnggccrd.c | |
1013 | Removed restriction that do_invert_mono only operate on 1-bit opaque files | |
706b8807 | 1014 | |
4946a942 GD |
1015 | version 1.2.0 [September 1, 2001] |
1016 | Changed a png_warning() to png_debug() in pnggccrd.c | |
1017 | Fixed contrib/gregbook/rpng-x.c, rpng2-x.c to avoid crash with XFreeGC(). | |
1018 | version 1.2.1beta1 [October 19, 2001] | |
1019 | Revised makefile.std in contrib/pngminus | |
1020 | Include background_1 in png_struct regardless of gamma support. | |
1021 | Revised makefile.netbsd and makefile.macosx, added makefile.darwin. | |
1022 | Revised example.c to provide more details about using row_callback(). | |
1023 | version 1.2.1beta2 [October 25, 2001] | |
1024 | Added type cast to each NULL appearing in a function call, except for | |
1025 | WINCE functions. | |
1026 | Added makefile.so9. | |
1027 | version 1.2.1beta3 [October 27, 2001] | |
1028 | Removed type casts from all NULLs. | |
1029 | Simplified png_create_struct_2(). | |
1030 | version 1.2.1beta4 [November 7, 2001] | |
1031 | Revised png_create_info_struct() and png_creat_struct_2(). | |
1032 | Added error message if png_write_info() was omitted. | |
1033 | Type cast NULLs appearing in function calls when _NO_PROTO or | |
1034 | PNG_TYPECAST_NULL is defined. | |
1035 | version 1.2.1rc1 [November 24, 2001] | |
1036 | Type cast NULLs appearing in function calls except when PNG_NO_TYPECAST_NULL | |
1037 | is defined. | |
1038 | Changed typecast of "size" argument to png_size_t in pngmem.c calls to | |
1039 | the user malloc_fn, to agree with the prototype in png.h | |
1040 | Added a pop/push operation to pnggccrd.c, to preserve Eflag (Maxim Sobolev) | |
1041 | Updated makefile.sgi to recognize LIBPATH and INCPATH. | |
1042 | Updated various makefiles so "make clean" does not remove previous major | |
1043 | version of the shared library. | |
1044 | version 1.2.1rc2 [December 4, 2001] | |
1045 | Always allocate 256-entry internal palette, hist, and trans arrays, to | |
1046 | avoid out-of-bounds memory reference caused by invalid PNG datastreams. | |
1047 | Added a check for prefix_length > data_length in iCCP chunk handler. | |
706b8807 | 1048 | |
4946a942 GD |
1049 | version 1.2.1 [December 7, 2001] |
1050 | None. | |
1051 | version 1.2.2beta1 [February 22, 2002] | |
1052 | Fixed a bug with reading the length of iCCP profiles (Larry Reeves). | |
1053 | Revised makefile.linux, makefile.gcmmx, and makefile.sgi to generate | |
1054 | libpng.a, libpng12.so (not libpng.so.3), and libpng12/png.h | |
1055 | Revised makefile.darwin to remove "-undefined suppress" option. | |
1056 | Added checks for gamma and chromaticity values over 21474.83, which exceed | |
1057 | the limit for PNG unsigned 32-bit integers when encoded. | |
1058 | Revised calls to png_create_read_struct() and png_create_write_struct() | |
1059 | for simpler debugging. | |
1060 | Revised png_zalloc() so zlib handles errors (uses PNG_FLAG_MALLOC_NULL_MEM_OK) | |
1061 | version 1.2.2beta2 [February 23, 2002] | |
1062 | Check chunk_length and idat_size for invalid (over PNG_MAX_UINT) lengths. | |
1063 | Check for invalid image dimensions in png_get_IHDR. | |
1064 | Added missing "fi;" in the install target of the SGI makefiles. | |
1065 | Added install-static to all makefiles that make shared libraries. | |
1066 | Always do gamma compensation when image is partially transparent. | |
1067 | version 1.2.2beta3 [March 7, 2002] | |
1068 | Compute background.gray and background_1.gray even when color_type is RGB | |
1069 | in case image gets reduced to gray later. | |
1070 | Modified shared-library makefiles to install pkgconfig/libpngNN.pc. | |
1071 | Export (with PNGAPI) png_zalloc, png_zfree, and png_handle_as_unknown | |
1072 | Removed unused png_write_destroy_info prototype from png.h | |
1073 | Eliminated incorrect use of width_mmx from pnggccrd.c in pixel_bytes == 8 case | |
1074 | Added install-shared target to all makefiles that make shared libraries. | |
1075 | Stopped a double free of palette, hist, and trans when not using free_me. | |
1076 | Added makefile.32sunu for Sun Ultra 32 and makefile.64sunu for Sun Ultra 64. | |
1077 | version 1.2.2beta4 [March 8, 2002] | |
1078 | Compute background.gray and background_1.gray even when color_type is RGB | |
1079 | in case image gets reduced to gray later (Jason Summers). | |
1080 | Relocated a misplaced /bin/rm in the "install-shared" makefile targets | |
1081 | Added PNG_1_0_X macro which can be used to build a 1.0.x-compatible library. | |
1082 | version 1.2.2beta5 [March 26, 2002] | |
1083 | Added missing PNGAPI to several function definitions. | |
1084 | Check for invalid bit_depth or color_type in png_get_IHDR(), and | |
1085 | check for missing PLTE or IHDR in png_push_read_chunk() (Matthias Clasen). | |
1086 | Revised iTXt support to accept NULL for lang and lang_key. | |
1087 | Compute gamma for color components of background even when color_type is gray. | |
1088 | Changed "()" to "{}" in scripts/libpng.pc.in. | |
1089 | Revised makefiles to put png.h and pngconf.h only in $prefix/include/libpngNN | |
1090 | Revised makefiles to make symlink to libpng.so.NN in addition to libpngNN.so | |
1091 | version 1.2.2beta6 [March 31, 2002] | |
1092 | version 1.0.13beta1 [March 31, 2002] | |
1093 | Prevent png_zalloc() from trying to memset memory that it failed to acquire. | |
1094 | Add typecasts of PNG_MAX_UINT in pngset_cHRM_fixed() (Matt Holgate). | |
1095 | Ensure that the right function (user or default) is used to free the | |
1096 | png_struct after an error in png_create_read_struct_2(). | |
1097 | version 1.2.2rc1 [April 7, 2002] | |
1098 | version 1.0.13rc1 [April 7, 2002] | |
1099 | Save the ebx register in pnggccrd.c (Sami Farin) | |
1100 | Add "mem_ptr = png_ptr->mem_ptr" in png_destroy_write_struct() (Paul Gardner). | |
1101 | Updated makefiles to put headers in include/libpng and remove old include/*.h. | |
706b8807 | 1102 | |
4946a942 GD |
1103 | version 1.2.2 [April 15, 2002] |
1104 | version 1.0.13 [April 15, 2002] | |
1105 | Revised description of png_set_filter() in libpng.3/libpng.txt. | |
1106 | Revised makefile.netbsd and added makefile.neNNbsd and makefile.freebsd | |
1107 | version 1.0.13patch01 [April 17, 2002] | |
1108 | version 1.2.2patch01 [April 17, 2002] | |
1109 | Changed ${PNGMAJ}.${PNGVER} bug to ${PNGVER} in makefile.sgi and makefile.sggcc | |
1110 | Fixed VER -> PNGVER typo in makefile.macosx and added install-static to install | |
1111 | Added install: target to makefile.32sunu and makefile.64sunu | |
1112 | version 1.0.13patch03 [April 18, 2002] | |
1113 | version 1.2.2patch03 [April 18, 2002] | |
1114 | Revised 15 makefiles to link libpng.a to libpngNN.a and the include libpng | |
1115 | subdirectory to libpngNN subdirectory without the full pathname. | |
1116 | Moved generation of libpng.pc from "install" to "all" in 15 makefiles. | |
1117 | version 1.2.3rc1 [April 28, 2002] | |
1118 | Added install-man target to 15 makefiles (Dimitri Papadopolous-Orfanos). | |
1119 | Added $(DESTDIR) feature to 24 makefiles (Tim Mooney) | |
1120 | Fixed bug with $prefix, should be $(prefix) in makefile.hpux. | |
1121 | Updated cygwin-specific portion of pngconf.h and revised makefile.cygwin | |
1122 | Added a link from libpngNN.pc to libpng.pc in 15 makefiles. | |
1123 | Added links from include/libpngNN/*.h to include/*.h in 24 makefiles. | |
1124 | Revised makefile.darwin to make relative links without full pathname. | |
1125 | Added setjmp() at the end of png_create_*_struct_2() in case user forgets | |
1126 | to put one in their application. | |
1127 | Restored png_zalloc() and png_zfree() prototypes to version 1.2.1 and | |
1128 | removed them from module definition files. | |
1129 | version 1.2.3rc2 [May 1, 2002] | |
1130 | Fixed bug in reporting number of channels in pngget.c and pngset.c, | |
1131 | that was introduced in version 1.2.2beta5. | |
1132 | Exported png_zalloc(), png_zfree(), png_default_read(), png_default_write(), | |
1133 | png_default_flush(), and png_push_fill_buffer() and included them in | |
1134 | module definition files. | |
1135 | Added "libpng.pc" dependency to the "install-shared" target in 15 makefiles. | |
1136 | version 1.2.3rc3 [May 1, 2002] | |
1137 | Revised prototype for png_default_flush() | |
1138 | Remove old libpng.pc and libpngNN.pc before installing new ones. | |
1139 | version 1.2.3rc4 [May 2, 2002] | |
1140 | Typos in *.def files (png_default_read|write -> png_default_read|write_data) | |
1141 | In makefiles, changed rm libpng.NN.pc to rm libpngNN.pc | |
1142 | Added libpng-config and libpngNN-config and modified makefiles to install them. | |
1143 | Changed $(MANPATH) to $(DESTDIR)$(MANPATH) in makefiles | |
1144 | Added "Win32 DLL VB" configuration to projects/msvc/libpng.dsp | |
1145 | version 1.2.3rc5 [May 11, 2002] | |
1146 | Changed "error" and "message" in prototypes to "error_message" and | |
1147 | "warning_message" to avoid namespace conflict. | |
1148 | Revised 15 makefiles to build libpng-config from libpng-config-*.in | |
1149 | Once more restored png_zalloc and png_zfree to regular nonexported form. | |
1150 | Restored png_default_read|write_data, png_default_flush, png_read_fill_buffer | |
1151 | to nonexported form, but with PNGAPI, and removed them from module def files. | |
1152 | version 1.2.3rc6 [May 14, 2002] | |
1153 | Removed "PNGAPI" from png_zalloc() and png_zfree() in png.c | |
1154 | Changed "Gz" to "Gd" in projects/msvc/libpng.dsp and zlib.dsp. | |
1155 | Removed leftover libpng-config "sed" script from four makefiles. | |
1156 | Revised libpng-config creating script in 16 makefiles. | |
706b8807 | 1157 | |
4946a942 GD |
1158 | version 1.2.3 [May 22, 2002] |
1159 | Revised libpng-config target in makefile.cygwin. | |
1160 | Removed description of png_set_mem_fn() from documentation. | |
1161 | Revised makefile.freebsd. | |
1162 | Minor cosmetic changes to 15 makefiles, e.g., $(DI) = $(DESTDIR)/$(INCDIR). | |
1163 | Revised projects/msvc/README.txt | |
1164 | Changed -lpng to -lpngNN in LDFLAGS in several makefiles. | |
1165 | version 1.2.4beta1 [May 24, 2002] | |
1166 | Added libpng.pc and libpng-config to "all:" target in 16 makefiles. | |
1167 | Fixed bug in 16 makefiles: $(DESTDIR)/$(LIBPATH) to $(DESTDIR)$(LIBPATH) | |
1168 | Added missing "\" before closing double quote in makefile.gcmmx. | |
1169 | Plugged various memory leaks; added png_malloc_warn() and png_set_text_2() | |
1170 | functions. | |
1171 | version 1.2.4beta2 [June 25, 2002] | |
1172 | Plugged memory leak of png_ptr->current_text (Matt Holgate). | |
1173 | Check for buffer overflow before reading CRC in pngpread.c (Warwick Allison) | |
1174 | Added -soname to the loader flags in makefile.dec, makefile.sgi, and | |
1175 | makefile.sggcc. | |
1176 | Added "test-installed" target to makefile.linux, makefile.gcmmx, | |
1177 | makefile.sgi, and makefile.sggcc. | |
1178 | version 1.2.4beta3 [June 28, 2002] | |
1179 | Plugged memory leak of row_buf in pngtest.c when there is a png_error(). | |
1180 | Detect buffer overflow in pngpread.c when IDAT is corrupted with extra data. | |
1181 | Added "test-installed" target to makefile.32sunu, makefile.64sunu, | |
1182 | makefile.beos, makefile.darwin, makefile.dec, makefile.macosx, | |
1183 | makefile.solaris, makefile.hpux, makefile.hpgcc, and makefile.so9. | |
2b5f62a0 | 1184 | version 1.2.4rc1 and 1.0.14rc1 [July 2, 2002] |
4946a942 GD |
1185 | Added "test-installed" target to makefile.cygwin and makefile.sco. |
1186 | Revised pnggccrd.c to be able to back out version 1.0.x via PNG_1_0_X macro. | |
706b8807 | 1187 | |
2b5f62a0 | 1188 | version 1.2.4 and 1.0.14 [July 8, 2002] |
4946a942 | 1189 | Changed png_warning() to png_error() when width is too large to process. |
2b5f62a0 VZ |
1190 | version 1.2.4patch01 [July 20, 2002] |
1191 | Revised makefile.cygwin to use DLL number 12 instead of 13. | |
1192 | version 1.2.5beta1 [August 6, 2002] | |
1193 | Added code to contrib/gregbook/readpng2.c to ignore unused chunks. | |
1194 | Replaced toucan.png in contrib/gregbook (it has been corrupt since 1.0.11) | |
1195 | Removed some stray *.o files from contrib/gregbook. | |
1196 | Changed png_error() to png_warning() about "Too much data" in pngpread.c | |
1197 | and about "Extra compressed data" in pngrutil.c. | |
1198 | Prevent png_ptr->pass from exceeding 7 in png_push_finish_row(). | |
1199 | Updated makefile.hpgcc | |
1200 | Updated png.c and pnggccrd.c handling of return from png_mmx_support() | |
1201 | version 1.2.5beta2 [August 15, 2002] | |
1202 | Only issue png_warning() about "Too much data" in pngpread.c when avail_in | |
1203 | is nonzero. | |
1204 | Updated makefiles to install a separate libpng.so.3 with its own rpath. | |
1205 | version 1.2.5rc1 and 1.0.15rc1 [August 24, 2002] | |
1206 | Revised makefiles to not remove previous minor versions of shared libraries. | |
1207 | version 1.2.5rc2 and 1.0.15rc2 [September 16, 2002] | |
1208 | Revised 13 makefiles to remove "-lz" and "-L$(ZLIBLIB)", etc., from shared | |
1209 | library loader directive. | |
1210 | Added missing "$OBJSDLL" line to makefile.gcmmx. | |
1211 | Added missing "; fi" to makefile.32sunu. | |
1212 | version 1.2.5rc3 and 1.0.15rc3 [September 18, 2002] | |
1213 | Revised libpng-config script. | |
706b8807 | 1214 | |
5b02c8a1 VS |
1215 | version 1.2.5 and 1.0.15 [October 3, 2002] |
1216 | Revised makefile.macosx, makefile.darwin, makefile.hpgcc, and makefile.hpux, | |
1217 | and makefile.aix. | |
1218 | Relocated two misplaced PNGAPI lines in pngtest.c | |
1219 | version 1.2.6beta1 [October 22, 2002] | |
1220 | Commented out warning about uninitialized mmx_support in pnggccrd.c. | |
1221 | Changed "IBMCPP__" flag to "__IBMCPP__" in pngconf.h. | |
1222 | Relocated two more misplaced PNGAPI lines in pngtest.c | |
1223 | Fixed memory overrun bug in png_do_read_filler() with 16-bit datastreams, | |
1224 | introduced in version 1.0.2. | |
1225 | Revised makefile.macosx, makefile.dec, makefile.aix, and makefile.32sunu. | |
1226 | version 1.2.6beta2 [November 1, 2002] | |
1227 | Added libpng-config "--ldopts" output. | |
1228 | Added "AR=ar" and "ARFLAGS=rc" and changed "ar rc" to "$(AR) $(ARFLAGS)" | |
1229 | in makefiles. | |
1230 | version 1.2.6beta3 [July 18, 2004] | |
1231 | Reverted makefile changes from version 1.2.6beta2 and some of the changes | |
1232 | from version 1.2.6beta1; these will be postponed until version 1.2.7. | |
1233 | Version 1.2.6 is going to be a simple bugfix release. | |
1234 | Changed the one instance of "ln -sf" to "ln -f -s" in each Sun makefile. | |
1235 | Fixed potential overrun in pngerror.c by using strncpy instead of memcpy. | |
1236 | Added "#!/bin/sh" at the top of configure, for recognition of the | |
1237 | 'x' flag under Cygwin (Cosmin). | |
1238 | Optimized vacuous tests that silence compiler warnings, in png.c (Cosmin). | |
1239 | Added support for PNG_USER_CONFIG, in pngconf.h (Cosmin). | |
1240 | Fixed the special memory handler for Borland C under DOS, in pngmem.c | |
1241 | (Cosmin). | |
1242 | Removed some spurious assignments in pngrutil.c (Cosmin). | |
1243 | Replaced 65536 with 65536L, and 0xffff with 0xffffL, to silence warnings | |
1244 | on 16-bit platforms (Cosmin). | |
1245 | Enclosed shift op expressions in parentheses, to silence warnings (Cosmin). | |
1246 | Used proper type png_fixed_point, to avoid problems on 16-bit platforms, | |
1247 | in png_handle_sRGB() (Cosmin). | |
1248 | Added compression_type to png_struct, and optimized the window size | |
1249 | inside the deflate stream (Cosmin). | |
1250 | Fixed definition of isnonalpha(), in pngerror.c and pngrutil.c (Cosmin). | |
1251 | Fixed handling of unknown chunks that come after IDAT (Cosmin). | |
1252 | Allowed png_error() and png_warning() to work even if png_ptr == NULL | |
1253 | (Cosmin). | |
1254 | Replaced row_info->rowbytes with row_bytes in png_write_find_filter() | |
1255 | (Cosmin). | |
1256 | Fixed definition of PNG_LIBPNG_VER_DLLNUM (Simon-Pierre). | |
1257 | Used PNG_LIBPNG_VER and PNG_LIBPNG_VER_STRING instead of the hardcoded | |
1258 | values in png.c (Simon-Pierre, Cosmin). | |
1259 | Initialized png_libpng_ver[] with PNG_LIBPNG_VER_STRING (Simon-Pierre). | |
1260 | Replaced PNG_LIBPNG_VER_MAJOR with PNG_LIBPNG_VER_DLLNUM in png.rc | |
1261 | (Simon-Pierre). | |
1262 | Moved the definition of PNG_HEADER_VERSION_STRING near the definitions | |
1263 | of the other PNG_LIBPNG_VER_... symbols in png.h (Cosmin). | |
1264 | Relocated #ifndef PNGAPI guards in pngconf.h (Simon-Pierre, Cosmin). | |
1265 | Updated scripts/makefile.vc(a)win32 (Cosmin). | |
1266 | Updated the MSVC project (Simon-Pierre, Cosmin). | |
1267 | Updated the Borland C++ Builder project (Cosmin). | |
1268 | Avoided access to asm_flags in pngvcrd.c, if PNG_1_0_X is defined (Cosmin). | |
1269 | Commented out warning about uninitialized mmx_support in pngvcrd.c (Cosmin). | |
1270 | Removed scripts/makefile.bd32 and scripts/pngdef.pas (Cosmin). | |
1271 | Added extra guard around inclusion of Turbo C memory headers, in pngconf.h | |
1272 | (Cosmin). | |
1273 | Renamed projects/msvc/ to projects/visualc6/, and projects/borland/ to | |
1274 | projects/cbuilder5/ (Cosmin). | |
1275 | Moved projects/visualc6/png32ms.def to scripts/pngw32.def, | |
1276 | and projects/visualc6/png.rc to scripts/pngw32.rc (Cosmin). | |
1277 | Added projects/visualc6/pngtest.dsp; removed contrib/msvctest/ (Cosmin). | |
1278 | Changed line endings to DOS style in cbuilder5 and visualc6 files, even | |
1279 | in the tar.* distributions (Cosmin). | |
1280 | Updated contrib/visupng/VisualPng.dsp (Cosmin). | |
1281 | Updated contrib/visupng/cexcept.h to version 2.0.0 (Cosmin). | |
1282 | Added a separate distribution with "configure" and supporting files (Junichi). | |
1283 | version 1.2.6beta4 [July 28, 2004] | |
1284 | Added user ability to change png_size_t via a PNG_SIZE_T macro. | |
1285 | Added png_sizeof() and png_convert_size() functions. | |
1286 | Added PNG_SIZE_MAX (maximum value of a png_size_t variable. | |
1287 | Added check in png_malloc_default() for (size_t)size != (png_uint_32)size | |
1288 | which would indicate an overflow. | |
1289 | Changed sPLT failure action from png_error to png_warning and abandon chunk. | |
1290 | Changed sCAL and iCCP failures from png_error to png_warning and abandon. | |
1291 | Added png_get_uint_31(png_ptr, buf) function. | |
1292 | Added PNG_UINT_32_MAX macro. | |
1293 | Renamed PNG_MAX_UINT to PNG_UINT_31_MAX. | |
1294 | Made png_zalloc() issue a png_warning and return NULL on potential | |
1295 | overflow. | |
1296 | Turn on PNG_NO_ZALLOC_ZERO by default in version 1.2.x | |
1297 | Revised "clobber list" in pnggccrd.c so it will compile under gcc-3.4. | |
1298 | Revised Borland portion of png_malloc() to return NULL or issue | |
1299 | png_error() according to setting of PNG_FLAG_MALLOC_NULL_MEM_OK. | |
1300 | Added PNG_NO_SEQUENTIAL_READ_SUPPORTED macro to conditionally remove | |
1301 | sequential read support. | |
1302 | Added some "#if PNG_WRITE_SUPPORTED" blocks. | |
1303 | #ifdef'ed out some redundancy in png_malloc_default(). | |
1304 | Use png_malloc instead of png_zalloc to allocate the pallete. | |
706b8807 | 1305 | version 1.0.16rc1 and 1.2.6rc1 [August 4, 2004] |
5b02c8a1 VS |
1306 | Fixed buffer overflow vulnerability in png_handle_tRNS() |
1307 | Fixed integer arithmetic overflow vulnerability in png_read_png(). | |
1308 | Fixed some harmless bugs in png_handle_sBIT, etc, that would cause | |
1309 | duplicate chunk types to go undetected. | |
1310 | Fixed some timestamps in the -config version | |
1311 | Rearranged order of processing of color types in png_handle_tRNS(). | |
1312 | Added ROWBYTES macro to calculate rowbytes without integer overflow. | |
1313 | Updated makefile.darwin and removed makefile.macosx from scripts directory. | |
1314 | Imposed default one million column, one-million row limits on the image | |
1315 | dimensions, and added png_set_user_limits() function to override them. | |
1316 | Revised use of PNG_SET_USER_LIMITS_SUPPORTED macro. | |
1317 | Fixed wrong cast of returns from png_get_user_width|height_max(). | |
1318 | Changed some "keep the compiler happy" from empty statements to returns, | |
706b8807 VS |
1319 | Revised libpng.txt to remove 1.2.x stuff from the 1.0.x distribution |
1320 | version 1.0.16rc2 and 1.2.6rc2 [August 7, 2004] | |
5b02c8a1 VS |
1321 | Revised makefile.darwin and makefile.solaris. Removed makefile.macosx. |
1322 | Revised pngtest's png_debug_malloc() to use png_malloc() instead of | |
1323 | png_malloc_default() which is not supposed to be exported. | |
1324 | Fixed off-by-one error in one of the conversions to PNG_ROWBYTES() in | |
1325 | pngpread.c. Bug was introduced in 1.2.6rc1. | |
1326 | Fixed bug in RGB to RGBX transformation introduced in 1.2.6rc1. | |
1327 | Fixed old bug in RGB to Gray transformation. | |
1328 | Fixed problem with 64-bit compilers by casting arguments to abs() | |
1329 | to png_int_32. | |
1330 | Changed "ln -sf" to "ln -f -s" in three makefiles (solaris, sco, so9). | |
1331 | Changed "HANDLE_CHUNK_*" to "PNG_HANDLE_CHUNK_*" (Cosmin) | |
1332 | Added "-@/bin/rm -f $(DL)/$(LIBNAME).so.$(PNGMAJ)" to 15 *NIX makefiles. | |
1333 | Added code to update the row_info->colortype in png_do_read_filler() (MSB). | |
706b8807 | 1334 | version 1.0.16rc3 and 1.2.6rc3 [August 9, 2004] |
5b02c8a1 VS |
1335 | Eliminated use of "abs()" in testing cHRM and gAMA values, to avoid |
1336 | trouble with some 64-bit compilers. Created PNG_OUT_OF_RANGE() macro. | |
1337 | Revised documentation of png_set_keep_unknown_chunks(). | |
1338 | Check handle_as_unknown status in pngpread.c, as in pngread.c previously. | |
1339 | Moved "PNG_HANDLE_CHUNK_*" macros out of PNG_INTERNAL section of png.h | |
1340 | Added "rim" definitions for CONST4 and CONST6 in pnggccrd.c | |
706b8807 | 1341 | version 1.0.16rc4 and 1.2.6rc4 [August 10, 2004] |
5b02c8a1 VS |
1342 | Fixed mistake in pngtest.c introduced in 1.2.6rc2 (declaration of |
1343 | "pinfo" was out of place). | |
706b8807 | 1344 | version 1.0.16rc5 and 1.2.6rc5 [August 10, 2004] |
5b02c8a1 VS |
1345 | Moved "PNG_HANDLE_CHUNK_*" macros out of PNG_ASSEMBLER_CODE_SUPPORTED |
1346 | section of png.h where they were inadvertently placed in version rc3. | |
706b8807 VS |
1347 | |
1348 | version 1.0.16 and 1.2.6 [August 15, 2004] | |
5b02c8a1 | 1349 | Revised pngtest so memory allocation testing is only done when PNG_DEBUG==1. |
706b8807 VS |
1350 | version 1.2.7beta1 [August 26, 2004] |
1351 | Removed unused pngasmrd.h file. | |
1352 | Removed references to uu.net for archived files. Added references to | |
1353 | PNG Spec (second edition) and the PNG ISO/IEC Standard. | |
1354 | Added "test-dd" target in 15 makefiles, to run pngtest in DESTDIR. | |
1355 | Fixed bug with "optimized window size" in the IDAT datastream, that | |
1356 | causes libpng to write PNG files with incorrect zlib header bytes. | |
1357 | version 1.2.7beta2 [August 28, 2004] | |
1358 | Fixed bug with sCAL chunk and big-endian machines (David Munro). | |
1359 | Undid new code added in 1.2.6rc2 to update the color_type in | |
1360 | png_set_filler(). | |
1361 | Added png_set_add_alpha() that updates color type. | |
1362 | version 1.0.17rc1 and 1.2.7rc1 [September 4, 2004] | |
1363 | Revised png_set_strip_filler() to not remove alpha if color_type has alpha. | |
1364 | version 1.0.17 and 1.2.7 [September 12, 2004] | |
1365 | Added makefile.hp64 | |
1366 | Changed projects/msvc/png32ms.def to scripts/png32ms.def in makefile.cygwin | |
4946a942 GD |
1367 | |
1368 | Send comments/corrections/commendations to | |
706b8807 VS |
1369 | png-implement@ccrc.wustl.edu (subscription required; write to |
1370 | majordomo@ccrc.wustl.edu with "subscribe png-implement" in the message) | |
1371 | or to glennrp@users.sourceforge.net | |
4946a942 GD |
1372 | |
1373 | Glenn R-P |