| CHANGES - changes for libpng |
| |
| version 0.2 |
| added reader into png.h |
| fixed small problems in stub file |
| version 0.3 |
| added pull reader |
| split up pngwrite.c to several files |
| added pnglib.txt |
| added example.c |
| cleaned up writer, adding a few new tranformations |
| fixed some bugs in writer |
| interfaced with zlib 0.5 |
| added K&R support |
| added check for 64 KB blocks for 16 bit machines |
| version 0.4 |
| cleaned up code and commented code |
| simplified time handling into png_time |
| created png_color_16 and png_color_8 to handle color needs |
| cleaned up color type defines |
| fixed various bugs |
| made various names more consistant |
| interfaced with zlib 0.71 |
| cleaned up zTXt reader and writer (using zlib's Reset functions) |
| split transformations into pngrtran.c and pngwtran.c |
| version 0.5 |
| interfaced with zlib 0.8 |
| fixed many reading and writing bugs |
| saved using 3 spaces instead of tabs |
| version 0.6 |
| added png_large_malloc() and png_large_free() |
| added png_size_t |
| cleaned up some compiler warnings |
| added png_start_read_image() |
| version 0.7 |
| cleaned up lots of bugs |
| finished dithering and other stuff |
| added test program |
| changed name from pnglib to libpng |
| version 0.71 [June, 1995] |
| changed pngtest.png for zlib 0.93 |
| fixed error in libpng.txt and example.c |
| version 0.8 |
| cleaned up some bugs |
| added png_set_filler() |
| split up pngstub.c into pngmem.c, pngio.c, and pngerror.c |
| added #define's to remove unwanted code |
| moved png_info_init() to png.c |
| added old_size into png_realloc() |
| added functions to manually set filtering and compression info |
| changed compression parameters based on image type |
| optimized filter selection code |
| added version info |
| changed external functions passing floats to doubles (k&r problems?) |
| put all the configurable stuff in pngconf.h |
| enabled png_set_shift to work with paletted images on read |
| added png_read_update_info() - updates info structure with |
| transformations |
| version 0.81 [August, 1995] |
| incorporated Tim Wegner's medium model code (thanks, Tim) |
| version 0.82 [September, 1995] |
| [unspecified changes] |
| version 0.85 [December, 1995] |
| added more medium model code (almost everything's a far) |
| added i/o, error, and memory callback functions |
| fixed some bugs (16 bit, 4 bit interlaced, etc.) |
| added first run progressive reader (barely tested) |
| version 0.86 [January, 1996] |
| fixed bugs |
| improved documentation |
| version 0.87 [January, 1996] |
| fixed medium model bugs |
| fixed other bugs introduced in 0.85 and 0.86 |
| added some minor documentation |
| version 0.88 [January, 1996] |
| fixed progressive bugs |
| replaced tabs with spaces |
| cleaned up documentation |
| added callbacks for read/write and warning/error functions |
| version 0.89 [July, 1996] |
| added new initialization API to make libpng work better with shared libs |
| we now have png_create_read_struct(), png_create_write_struct(), |
| png_create_info_struct(), png_destroy_read_struct(), and |
| png_destroy_write_struct() instead of the separate calls to |
| malloc and png_read_init(), png_info_init(), and png_write_init() |
| changed warning/error callback functions to fix bug - this means you |
| should use the new initialization API if you were using the old |
| png_set_message_fn() calls, and that the old API no longer exists |
| so that people are aware that they need to change their code |
| changed filter selection API to allow selection of multiple filters |
| since it didn't work in previous versions of libpng anyways |
| optimized filter selection code |
| fixed png_set_background() to allow using an arbitrary RGB color for |
| paletted images |
| fixed gamma and background correction for paletted images, so |
| png_correct_palette is not needed unless you are correcting an |
| external palette (you will need to #define PNG_CORRECT_PALETTE_SUPPORTED |
| in pngconf.h) - if nobody uses this, it may disappear in the future. |
| fixed bug with Borland 64K memory allocation (Alexander Lehmann) |
| fixed bug in interlace handling (Smarasderagd, I think) |
| added more error checking for writing and image to reduce invalid files |
| separated read and write functions so that they won't both be linked |
| into a binary when only reading or writing functionality is used |
| new pngtest image also has interlacing and zTXt |
| updated documentation to reflect new API |
| version 0.90 [January, 1997] |
| made CRC errors/warnings on critical and ancillary chunks configurable |
| libpng will use the zlib CRC routines by (compile-time) default |
| changed DOS small/medium model memory support - needs zlib 1.04 (Tim Wegner) |
| added external C++ wrapper statements to png.h (Gilles Dauphin) |
| allow PNG file to be read when some or all of file signature has already |
| been read from the beginning of the stream. ****This affects the size |
| of info_struct and invalidates all programs that use a shared libpng**** |
| fixed png_filler() declarations |
| fixed? background color conversions |
| fixed order of error function pointers to match documentation |
| current chunk name is now available in png_struct to reduce the number |
| of nearly identical error messages (will simplify multi-lingual |
| support when available) |
| try to get ready for unknown-chunk callback functions: |
| - previously read critical chunks are flagged, so the chunk handling |
| routines can determine if the chunk is in the right place |
| - all chunk handling routines have the same prototypes, so we will |
| be able to handle all chunks via a callback mechanism |
| try to fix Linux "setjmp" buffer size problems |
| version 0.95 [March, 1997] |
| fixed bug in pngwutil.c allocating "up_row" twice and "avg_row" never |
| fixed bug in PNG file signature compares when start != 0 |
| changed parameter type of png_set_filler(...filler...) from png_byte |
| to png_uint_32 |
| added test for MACOS to ensure that both math.h and fp.h are not #included |
| added macros for libpng to be compiled as a Windows DLL (Andreas Kupries) |
| added "packswap" transformation, which changes the endianness of |
| packed-pixel bytes (Kevin Bracey) |
| added "strip_alpha" transformation, which removes the alpha channel of |
| input images without using it (not neccesarily a good idea) |
| added "swap_alpha" transformation, which puts the alpha channel in front |
| of the color bytes instead of after |
| removed all implicit variable tests which assume NULL == 0 (I think) |
| changed several variables to "png_size_t" to show 16/32-bit limitations |
| added new pCAL chunk read/write support |
| added experimental filter selection weighting (Greg Roelofs) |
| removed old png_set_rgbx() and png_set_xrgb() functions that have been |
| obsolete for about 2 years now (use png_set_filler() instead) |
| added macros to read 16- and 32-bit ints directly from buffer, to be |
| used only on those systems that support it (namely PowerPC and 680x0) |
| With some testing, this may become the default for MACOS/PPC systems. |
| only calculate CRC on data if we are going to use it |
| added macros for zTXt compression type PNG_zTXt_COMPRESSION_??? |
| added macros for simple libpng debugging output selectable at compile time |
| removed PNG_READ_END_MODE in progressive reader (Smarasderagd) |
| more description of info_struct in libpng.txt and png.h |
| more instructions in example.c |
| more chunk types tested in pngtest.c |
| renamed pngrcb.c to pngset.c, and all png_read_<chunk> functions to be |
| png_set_<chunk>. We now have corresponding png_get_<chunk> |
| functions in pngget.c to get infomation in info_ptr. This isolates |
| the application from the internal organization of png_info_struct |
| (good for shared library implementations). |
| version 0.96 [May, 1997] |
| fixed serious bug with < 8bpp images introduced in 0.95 |
| fixed 256-color transparency bug (Greg Roelofs) |
| fixed up documentation (Greg Roelofs, Laszlo Nyul) |
| fixed "error" in pngconf.h for Linux setjmp() behaviour |
| fixed DOS medium model support (Tim Wegner) |
| fixed png_check_keyword() for case with error in static string text |
| added read of CRC after IEND chunk for embedded PNGs (Laszlo Nyul) |
| added typecasts to quiet compiler errors |
| added more debugging info |
| version 0.97 [January, 1998] |
| removed PNG_USE_OWN_CRC capability |
| relocated png_set_crc_action from pngrutil.c to pngrtran.c |
| fixed typecasts of "new_key", etc. (Andreas Dilger) |
| added RFC 1152 [sic] date support |
| fixed bug in gamma handling of 4-bit grayscale |
| added 2-bit grayscale gamma handling (Glenn R-P) |
| added more typecasts. 65536L becomes (png_uint_32)65536L, etc. (Glenn R-P) |
| minor corrections in libpng.txt |
| added simple sRGB support (Glenn R-P) |
| easier conditional compiling, e.g. define PNG_READ/WRITE_NOT_FULLY_SUPPORTED; |
| all configurable options can be selected from command-line instead |
| of having to edit pngconf.h (Glenn R-P) |
| fixed memory leak in pngwrite.c (free info_ptr->text) (Glenn R-P) |
| added more conditions for png_do_background, to avoid changing |
| black pixels to background when a background is supplied and |
| no pixels are transparent |
| repaired PNG_NO_STDIO behaviour |
| tested NODIV support and made it default behaviour (Greg Roelofs) |
| added "-m" option and PNGTEST_DEBUG_MEMORY to pngtest (John Bowler) |
| regularized version numbering scheme and bumped shared-library major |
| version number to 2 to avoid problems with libpng 0.89 apps (Greg Roelofs) |
| version 0.98 [January, 1998] |
| cleaned up some typos in libpng.txt and in code documentation |
| fixed memory leaks in pCAL chunk processing (Glenn R-P and John Bowler) |
| cosmetic change "display_gamma" to "screen_gamma" in pngrtran.c |
| changed recommendation about file_gamma for PC images to .51 from .45, |
| in example.c and libpng.txt, added comments to distinguish between |
| screen_gamma, viewing_gamma, and display_gamma. |
| changed all references to RFC1152 to read RFC1123 and changed the |
| PNG_TIME_RFC1152_SUPPORTED macro to PNG_TIME_RFC1123_SUPPORTED |
| added png_invert_alpha capability (Glenn R-P -- suggestion by Jon Vincent) |
| changed srgb_intent from png_byte to int to avoid compiler bugs |
| version 0.99 [January 30, 1998] |
| free info_ptr->text instead of end_info_ptr->text in pngread.c (John Bowler) |
| fixed a longstanding "packswap" bug in pngtrans.c |
| fixed some inconsistencies in pngconf.h that prevented compiling with |
| PNG_READ_GAMMA_SUPPORTED and PNG_READ_hIST_SUPPORTED undefined |
| fixed some typos and made other minor rearrangement of libpng.txt (Andreas) |
| changed recommendation about file_gamma for PC images to .50 from .51 in |
| example.c and libpng.txt, and changed file_gamma for sRGB images to .45 |
| added a number of functions to access information from the png structure |
| png_get_image_height(), etc. (Glenn R-P, suggestion by Brad Pettit) |
| added TARGET_MACOS similar to zlib-1.0.8 |
| define PNG_ALWAYS_EXTERN when __MWERKS__ && WIN32 are defined |
| added type casting to all png_malloc() function calls |
| version 0.99a [January 31, 1998] |
| Added type casts and parentheses to all returns that return a value.(Tim W.) |
| version 0.99b [February 4, 1998] |
| Added type cast png_uint_32 on malloc function calls where needed. |
| Changed type of num_hist from png_uint_32 to int (same as num_palette). |
| Added checks for rowbytes overflow, in case png_size_t is less than 32 bits. |
| Renamed makefile.elf to makefile.lnx. |
| version 0.99c [February 7, 1998] |
| More type casting. Removed erroneous overflow test in pngmem.c. |
| Added png_buffered_memcpy() and png_buffered_memset(), apply them to rowbytes. |
| Added UNIX manual pages libpng.3 (incorporating libpng.txt) and png.5. |
| version 0.99d [February 11, 1998] |
| Renamed "far_to_near()" "png_far_to_near()" |
| Revised libpng.3 |
| Version 99c "buffered" operations didn't work as intended. Replaced them |
| with png_memcpy_check() and png_memset_check(). |
| Added many "if (png_ptr == NULL) return" to quell compiler warnings about |
| unused png_ptr, mostly in pngget.c and pngset.c. |
| Check for overlength tRNS chunk present when indexed-color PLTE is read. |
| Cleaned up spelling errors in libpng.3/libpng.txt |
| Corrected a problem with png_get_tRNS() which returned undefined trans array |
| version 0.99e [February 28, 1998] |
| Corrected png_get_tRNS() again. |
| Add parentheses for easier reading of pngget.c, fixed "||" should be "&&". |
| Touched up example.c to make more of it compileable, although the entire |
| file still can't be compiled (Willem van Schaik) |
| Fixed a bug in png_do_shift() (Bryan Tsai) |
| Added a space in png.h prototype for png_write_chunk_start() |
| Replaced pngtest.png with one created with zlib 1.1.1 |
| Changed pngtest to report PASS even when file size is different (Jean-loup G.) |
| Corrected some logic errors in png_do_invert_alpha() (Chris Patterson) |
| version 0.99f [March 5, 1998] |
| Corrected a bug in pngpread() introduced in version 99c (Kevin Bracey) |
| Moved makefiles into a "scripts" directory, and added INSTALL instruction file |
| Added makefile.os2 and pngos2.def (A. Zabolotny) and makefile.s2x (W. Sebok) |
| Added pointers to "note on libpng versions" in makefile.lnx and README |
| Added row callback feature when reading and writing nonprogressive rows |
| and added a test of this feature in pngtest.c |
| Added user transform callbacks, with test of the feature in pngtest.c |
| version 0.99g [March 6, 1998, morning] |
| Minor changes to pngtest.c to suppress compiler warnings. |
| Removed "beta" language from documentation. |
| version 0.99h [March 6, 1998, evening] |
| Minor changes to previous minor changes to pngtest.c |
| Changed PNG_READ_NOT_FULLY_SUPPORTED to PNG_READ_TRANSFORMS_NOT_SUPPORTED |
| and added PNG_PROGRESSIVE_READ_NOT_SUPPORTED macro |
| version 1.00 [March 7, 1998] |
| Changed several typedefs in pngrutil.c |
| Added makefile.wat (Pawel Mrochen), updated makefile.tc3 (Willem van Schaik) |
| replaced "while(1)" with "for(;;)" |
| added PNGARG() to prototypes in pngtest.c and removed some prototypes |
| updated some of the makefiles (Tom Lane) |
| changed some typedefs (s_start, etc.) in pngrutil.c |
| fixed dimensions of "short_months" array in pngwrite.c |
| Replaced ansi2knr.c with the one from jpeg-v6 |