CHANGES 5.3 KB
Newer Older
G
Guy Schalnat 已提交
1 2 3
pngchange.txt - changes for libpng

version 0.2
G
Guy Schalnat 已提交
4 5
   added reader into png.h
   fixed small problems in stub file
G
Guy Schalnat 已提交
6
version 0.3
G
Guy Schalnat 已提交
7 8 9 10 11 12 13 14 15
   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
G
Guy Schalnat 已提交
16
version 0.4
G
Guy Schalnat 已提交
17 18 19 20 21 22 23 24 25
   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
G
Guy Schalnat 已提交
26
version 0.5
G
Guy Schalnat 已提交
27 28
   interfaced with zlib 0.8
   fixed many reading and writing bugs
G
Guy Schalnat 已提交
29 30 31 32 33 34 35 36 37 38 39 40 41 42
   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
   changed pngtest.png for zlib 0.93
   fixed error in libpng.txt and example.c
G
Guy Schalnat 已提交
43 44 45 46 47 48 49 50 51 52 53 54 55 56
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
G
Guy Schalnat 已提交
57 58
   added png_read_update_info() - updates info structure with
      transformations
G
Guy Schalnat 已提交
59
version 0.81
G
Guy Schalnat 已提交
60 61 62 63 64 65
   incorporated Tim Wegner's medium model code (thanks, Tim)
version 0.85
   added more medium model code (almost everythings 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)
G
Guy Schalnat 已提交
66 67 68
version 0.86
   fixed bugs
   improved documentation
G
Guy Schalnat 已提交
69
version 0.87
G
Guy Schalnat 已提交
70 71
   fixed medium model bugs
   fixed other bugs introduced in 0.85 and 0.86
G
Guy Schalnat 已提交
72
   added some minor documentation
G
Guy Schalnat 已提交
73 74 75 76
version 0.88
   fixed progressive bugs
   replaced tabs with spaces
   cleaned up documentation
G
Guy Schalnat 已提交
77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95
   added callbacks for read/write and warning/error functions
version 0.89 
   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
A
Andreas Dilger 已提交
96
      in pngconf.h) - if nobody uses this, it may disappear in the future.
G
Guy Schalnat 已提交
97
   fixed bug with Borland 64K memory allocation (Alexander Lehmann)
A
Andreas Dilger 已提交
98
   fixed bug in interlace handling (Smarasderagd, I think)
G
Guy Schalnat 已提交
99 100 101 102
   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
A
Andreas Dilger 已提交
103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122
   updated documentation to reflect new API
version 0.90
   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