summaryrefslogtreecommitdiff
path: root/ANNOUNCE
blob: ab447cb4cbd40833a92e204a5c62757c6bf919b2 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401

Libpng 1.5.0beta46 - August 27, 2010

This is not intended to be a public release.  It will be replaced
within a few weeks by a public version or by another test version.

Files available for download:

Source files with LF line endings (for Unix/Linux) and with a
"configure" script

   1.5.0beta46.tar.xz (LZMA-compressed, recommended)
   1.5.0beta46.tar.gz
   1.5.0beta46.tar.bz2

Source files with CRLF line endings (for Windows), without the
"configure" script

   lp150b46.zip
   lp150b46.7z

Other information:

   1.5.0beta46-README.txt
   1.5.0beta46-LICENSE.txt

Changes since the last public release (1.4.1):

version 1.5.0beta01 [February 7, 2010]
  Moved declaration of png_struct into private pngstruct.h and png_info
    into pnginfo.h

version 1.5.0beta02 [February 7, 2010]
  Reverted to original png_push_save_buffer() code.

version 1.5.0beta03 [February 8, 2010]
  Return allocated "old_buffer" in png_push_save_buffer() before
    calling png_error().
  Updated configure script to use SO number 15.

version 1.5.0beta04 [February 9, 2010]
  Removed malformed "incomplete struct declaration" of png_info from png.h

version 1.5.0beta05 [February 12, 2010]
  Removed PNG_DEPSTRUCT markup in pngstruct.h and pnginfo.h, and undid the
    linewrapping that it entailed.
  Revised comments in pngstruct.h and pnginfo.h and added pointers to
    the libpng license.
  Changed PNG_INTERNAL to PNG_EXPOSE_INTERNAL_STRUCTURES
  Removed the cbuilder5 project, which has not been updated to 1.4.0.

version 1.4.1beta12 and 1.5.0beta06 [February 14, 2010]
  Fixed type declaration of png_get_chunk_malloc_max() in pngget.c (Daisuke
    Nishikawa)

version 1.5.0beta07 [omitted]

version 1.5.0beta08 [February 19, 2010]
  Changed #ifdef PNG_NO_STDIO_SUPPORTED to #ifdef PNG_NO_CONSOLE_IO_SUPPORTED
    wherever png_snprintf() is used to construct error and warning messages.
  Noted in scripts/makefile.mingw that it expects to be run under MSYS.
  Removed obsolete unused MMX-querying support from contrib/gregbook
  Added exported png_longjmp() function.
  Removed the AIX redefinition of jmpbuf in png.h
  Added -D_ALLSOURCE in configure.ac, makefile.aix, and CMakeLists.txt
    when building on AIX.

version 1.5.0beta09 [February 19, 2010]
  Removed -D_ALLSOURCE from configure.ac, makefile.aix, and CMakeLists.txt.
  Changed the name of png_ptr->jmpbuf to png_ptr->png_jmpbuf in pngstruct.h

version 1.5.0beta10 [February 25, 2010]
  Removed unused gzio.c from contrib/pngminim gather and makefile scripts
  Removed replacement error handlers from contrib/gregbook.  Because of
    the new png_longjmp() function they are no longer needed.

version 1.5.0beta11 [March 6, 2010]
  Removed checking for already-included setjmp.h from pngconf.h
  Fixed inconsistent indentations and made numerous cosmetic changes.
  Revised the "SEE ALSO" style of libpng.3, libpngpf.3, and png.5

version 1.5.0beta12 [March 9, 2010]
  Moved "#include png.h" inside pngpriv.h and removed "#include png.h" from
    the source files, along with "#define PNG_EXPOSE_INTERNAL_STRUCTURES"
    and "#define PNG_NO_PEDANTIC_WARNINGS" (John Bowler).
  Created new pngdebug.h and moved debug definitions there.

version 1.5.0beta13 [March 10, 2010]
  Protect pngstruct.h, pnginfo.h, and pngdebug.h from being included twice.
  Revise the "#ifdef" blocks in png_inflate() so it will compile when neither
    PNG_USER_CHUNK_MALLOC_MAX nor PNG_SET_CHUNK_MALLOC_LIMIT_SUPPORTED
    is defined.
  Removed unused png_measure_compressed_chunk() from pngpriv.h and libpngpf.3
  Moved the 'config.h' support from pngconf.h to pngpriv.h
  Removed PNGAPI from the png_longjmp_ptr typedef.
  Eliminated dependence of pngtest.c on the private pngdebug.h file.
  Make all png_debug macros into *unterminated* statements or
    expressions (i.e. a trailing ';' must always be added) and correct
    the format statements in various png_debug messages.

version 1.5.0beta14 [March 14, 2010]
  Removed direct access to png_ptr->io_ptr from the Windows code in pngtest.c
  Revised Makefile.am to account for recent additions and replacements.
  Corrected CE and OS/2 DEF files (scripts/png*def) for symbols removed and
    added ordinal numbers to the Windows DEF file and corrected the duplicated
    ordinal numbers on CE symbols that are commented out.
  Added back in export symbols that can be present in the Windows build but
    are disabled by default.
  PNG_EXPORT changed to include an 'ordinal' field for DEF file generation.
    PNG_CALLBACK added to make callback definitions uniform.  PNGAPI split
    into PNGCAPI (base C form), PNGAPI (exports) and PNGCBAPI (callbacks),
    and appropriate changes made to all files.  Cygwin builds re-hinged to
    allow procedure call standard changes and to remove the need for the DEF
    file (fixes build on Cygwin).
  Enabled 'attribute' warnings that are relevant to library APIs and callbacks.
  Changed rules for generation of the various symbol files and added a new
    rule for a DEF file (which is also added to the distribution).
  Updated the symbol file generation to stop it adding spurious spaces
    to EOL (coming from preprocessor macro expansion).  Added a facility
    to join tokens in the output and rewrite *.dfn to use this.
  Eliminated scripts/*.def in favor of libpng.def; updated projects/visualc71
    and removed scripts/makefile.cygwin.
  Made PNG_BUILD_DLL safe: it can be set whenever a DLL is being built.
  Removed the include of sys/types.h - apparently unnecessary now on the
    platforms on which it happened (all but Mac OS and RISC OS).
  Moved the Mac OS test into pngpriv.h (the only place it is used.)

version 1.5.0beta15 [March 17, 2010]
  Added symbols.chk target to Makefile.am to validate the symbols in png.h
    against the new DEF file scripts/symbols.def.
  Changed the default DEF file back to pngwin.def.
  Removed makefile.mingw.
  Eliminated PNG_NO_EXTERN and PNG_ALL_EXTERN

version 1.5.0beta16 [April 1, 2010]
  Made png_text_struct independent of PNG_iTXt_SUPPORTED, so that
    fields are initialized in all configurations.  The READ/WRITE
    macros (PNG_(READ|WRITE)_iTXt_SUPPORTED) still function as
    before to disable code to actually read or write iTXt chunks
    and iTXt_SUPPORTED can be used to detect presence of either
    read or write support (but it is probably better to check for
    the one actually required - read or write.)
  Combined multiple png_warning() calls for a single error.
  Restored the macro definition of png_check_sig().

version 1.5.0beta17 [April 17, 2010]
  Documented the fact that png_set_dither() was disabled since libpng-1.4.0.
  Reenabled png_set_dither() but renamed it to png_set_quantize() to reflect
    more accurately what it actually does.  At the same time, renamed
    the PNG_DITHER_[RED,GREEN_BLUE]_BITS macros to
    PNG_QUANTIZE_[RED,GREEN,BLUE]_BITS.
  Added some "(long)" typecasts to printf calls in png_handle_cHRM().
  Freeze build-time only configuration in the build.
    In all prior versions of libpng most configuration options
    controlled by compiler #defines had to be repeated by the
    application code that used libpng.  This patch changes this
    so that compilation options that can only be changed at build
    time are frozen in the build.  Options that are compiler
    dependent (and those that are system dependent) are evaluated
    each time - pngconf.h holds these.  Options that can be changed
    per-file in the application are in png.h.  Frozen options are
    in the new installed header file pnglibconf.h (John Bowler)
  Removed the xcode project because it has not been updated to work
    with libpng-1.5.0.

version 1.5.0beta18 [April 17, 2010]
  Restored the ability to include optional pngusr.h
  Moved replacements for png_error() and png_warning() from the
    contrib/pngminim project to pngerror.c, for use when warnings or
    errors are disabled via PNG_NO_WARN or PNG_NO_ERROR_TEXT, to avoid
    storing unneeded error/warning text.
  Updated contrib/pngminim project to work with the new pnglibconf.h
  Added some PNG_NO_* defines to contrib/pngminim/*/pngusr.h to save space.

version 1.5.0beta19 [April 24, 2010]
  Added PNG_{READ,WRITE}_INT_FUNCTIONS_SUPPORTED.  This allows the functions
    to read and write ints to be disabled independently of PNG_USE_READ_MACROS,
    which allows libpng to be built with the functions even though the default
    is to use the macros - this allows applications to choose at app build
    time whether or not to use macros (previously impossible because the
    functions weren't in the default build.)
  Changed Windows calling convention back to __cdecl for API functions.
    For Windows/x86 platforms only:
      __stdcall is no longer needed for Visual Basic, so libpng-1.5.0 uses
      __cdecl throughout (both API functions and callbacks) on Windows/x86
      platforms.
  Replaced visualc6 and visualc71 projects with new vstudio project
  Relaxed the overly-restrictive permissions of some files.

version 1.5.0beta20 [April 24, 2010]
  Relaxed more overly-restrictive permissions of some files.

version 1.5.0beta21 [April 27, 2010]
  Removed some unwanted binary bytes and changed CRLF to NEWLINE in the new
    vstudio project files, and some trivial editing of some files in the
    scripts directory.
  Set PNG_NO_READ_BGR, PNG_NO_IO_STATE, and PNG_NO_TIME_RFC1123 in
    contrib/pngminim/decoder/pngusr.h to make a smaller decoder application.

version 1.5.0beta22 [April 28, 2010]
  Fixed dependencies of GET_INT_32 - it does not require READ_INT_FUNCTIONS
    because it has a macro equivalent.
  Improved the options.awk script; added an "everything off" option.
  Revised contrib/pngminim to use the "everything off" option in pngusr.dfa.

version 1.5.0beta23 [April 29, 2010]
  Corrected PNG_REMOVED macro to take five arguments.
    The macro was documented with two arguments (name,ordinal), however
    the symbol checking .dfn files assumed five arguments.  The five
    argument form seems more useful so it is changed to that.
  Corrected PNG_UNKNOWN_CHUNKS_SUPPORTED to PNG_HANDLE_AS_UNKNOWN_SUPPORTED
    in gregbook/readpng2.c
  Corrected protection of png_get_user_transform_ptr. The API declaration in
    png.h is removed if both READ and WRITE USER_TRANSFORM are turned off
    but was left defined in pngtrans.c
  Added logunsupported=1 to cause pnglibconf.h to document disabled options.
    This makes the installed pnglibconf.h more readable but causes no
    other change.  The intention is that users of libpng will find it
    easier to understand if an API they need is missing.
  Include png_reset_zstream() in png.c only when PNG_READ_SUPPORTED is defined.
  Removed dummy_inflate.c from contrib/pngminim/encoder
  Removed contrib/pngminim/*/gather.sh; gathering is now done in the makefile.

version 1.5.0beta24 [May 7, 2010]
  Use bitwise "&" instead of arithmetic mod in pngrutil.c calculation of the
    offset of the png_ptr->rowbuf pointer into png_ptr->big_row_buf.
  Added more blank lines for readability.

version 1.5.0beta25 [August 27, 2010]
  In pngpread.c: png_push_have_row() add check for new_row > height
  Removed the now-redundant check for out-of-bounds new_row from example.c

version 1.5.0beta26 [June 18, 2010]
  In pngpread.c: png_push_process_row() add check for too many rows.

version 1.5.0beta27 [June 18, 2010]
  Removed the check added in beta25 as it is now redundant.

version 1.5.0beta28 [June 19, 2010]
  Rewrote png_process_IDAT_data to consistently treat extra data as warnings
    and handle end conditions more cleanly.
  Removed the new (beta26) check in png_push_process_row().

version 1.5.0beta29 [June 21, 2010]
  Revised scripts/options.awk to work on Sunos (but still doesn't work)
  Added comment to options.awk and contrib/pngminim/*/makefile to try nawk.

version 1.5.0beta30 [June 22, 2010]
  Stop memory leak when reading a malformed sCAL chunk.

version 1.5.0beta31 [June 26, 2010]
  Revised pngpread.c patch of beta28 to avoid an endless loop.
  Removed some trailing blanks.

version 1.5.0beta32 [June 26, 2010]
  Removed leftover scripts/options.patch and scripts/options.rej

version 1.5.0beta33 [July 6, 2010]
  Made FIXED and FLOATING options consistent in the APIs they enable and
    disable.  Corrected scripts/options.awk to handle both command line
    options and options specified in the .dfa files.
  Changed char *msg to PNG_CONST char *msg in pngrutil.c
  Make png_set_sRGB_gAMA_and_cHRM set values using either the fixed or
    floating point APIs, but not both.
  Reversed patch to remove error handler when the jmp_buf is stored in the
    main program structure, not the png_struct.
    The error handler is needed because the default handler in libpng will
    always use the jmp_buf in the library control structure; this is never
    set.  The gregbook code is a useful example because, even though it
    uses setjmp/longjmp, it shows how error handling can be implemented
    using control mechanisms not directly supported by libpng.  The
    technique will work correctly with mechanisms such as Microsoft
    Structure Exceptions or C++ exceptions (compiler willing - note that gcc
    does not by default support interworking of C and C++ error handling.)
  Reverted changes to call png_longjmp in contrib/gregbook where it is not
    appropriate.  If mainprog->jmpbuf is used by setjmp, then png_longjmp
    cannot be used.
  Changed "extern PNG_EXPORT" to "PNG_EXPORT" in png.h (Jan Nijtmans)
  Changed "extern" to "PNG_EXTERN" in pngpriv.h (except for the 'extern "C" {')

version 1.5.0beta34 [July 12, 2010]
  Put #ifndef PNG_EXTERN, #endif around the define PNG_EXTERN in pngpriv.h

version 1.5.0beta35 [July 24, 2010]
  Removed some newly-added TAB characters.
  Added -DNO_PNG_SNPRINTF to CFLAGS in scripts/makefile.dj2
  Moved the definition of png_snprintf() outside of the enclosing
    #ifdef blocks in pngconf.h

version 1.5.0beta36 [July 29, 2010]
  Patches by John Bowler:
  Fixed point APIs are now supported throughout (no missing APIs).
  Internal fixed point arithmetic support exists for all internal floating
    point operations.
  sCAL validates the floating point strings it is passed.
  Safe, albeit rudimentary, Watcom support is provided by PNG_API_RULE==2
  Two new APIs exist to get the number of passes without turning on the
    PNG_INTERLACE transform and to get the number of rows in the current
    pass.
  A new test program, pngvalid.c, validates the gamma code.
  Errors in the 16 bit gamma correction (overflows) have been corrected.
  cHRM chunk testing is done consistently (previously the floating point
    API bypassed it, because the test really didn't work on FP, now the test
    is performed on the actual values to be stored in the PNG file so it
    works in the FP case too.)
  Most floating point APIs now simply call the fixed point APIs after
    converting the values to the fixed point form used in the PNG file.
  The standard headers no longer include zlib.h, which is currently only
    required for pngstruct.h and can therefore be internal.
  Revised png_get_int_32 to undo the PNG two's complement representation of
    negative numbers.

version 1.5.0beta37 [July 30, 2010]
  Added a typecast in png_get_int_32() in png.h and pngrutil.h to avoid
    a compiler warning.
  Replaced oFFs 0,0 with oFFs -10,20 in pngtest.png

version 1.5.0beta38 [July 31, 2010]
  Implemented remaining "_fixed" functions.
  Corrected a number of recently introduced warnings mostly resulting from
    safe but uncast assignments to shorter integers.  Also added a zlib
    VStudio release library project because the latest zlib Official Windows
    build does not include such a thing.
  Revised png_get_int_16() to be similar to png_get_int_32().
  Restored projects/visualc71.

version 1.5.0beta39 [August 2, 2010]
  VisualC/GCC warning fixes, VisualC build fixes
  The changes include support for function attributes in VC in addition to
    those already present in GCC - necessary because without these some
    warnings are unavoidable.  Fixes include signed/unsigned fixes in
    pngvalid and checks with gcc -Wall -Wextra -Wunused.
  VC requires function attributes on function definitions as well as
    declarations, PNG_FUNCTION has been added to enable this and the
    relevant function definitions changed.

version 1.5.0beta40 [August 6, 2010]
  Correct use of _WINDOWS_ in pngconf.h
  Removed png_mem_ #defines; they are no longer used.
  Added the sRGB chunk to pngtest.png

version 1.5.0beta41 [August 11, 2010]
  Added the cHRM chunk to pngtest.png
  Don't try to use version-script with cygwin/mingw.
  Revised contrib/gregbook to work under cygwin/mingw.

version 1.5.0beta42 [August 18, 2010]
  Add .dll.a to the list of extensions to be symlinked by Makefile.am (Yaakov)
  Made all API functions that have const arguments and constant string
    literal pointers declare them (John Bowler).

Version 1.5.0beta43 [August 20, 2010]
  Removed spurious tabs, shorten long lines (no source change)
    Also added scripts/chkfmt to validate the format of all the files that can
    reasonably be validated (it is suggested to run "make distclean" before
    checking, because some machine generated files have long lines.)
  Reformatted the CHANGES file to be more consistent throughout.
  Made changes to address various issues identified by GCC, mostly
    signed/unsigned and shortening problems on assignment but also a few
    difficult to optimize (for GCC) loops.
  Fixed non-GCC fixed point builds.  In png.c a declaration was misplaced
    in an earlier update.  Fixed to declare the auto variables at the head.
  Use cexcept.h in pngvalid.c.

Version 1.5.0beta44 [August 24, 2010]
  Updated CMakeLists.txt to use CMAKE_INSTALL_LIBDIR variable; useful for
    installing libpng in /usr/lib64 (Funda Wang).
  Revised CMakeLists.txt to put the man pages in share/man/man* not man/man*
  Revised CMakeLists.txt to make symlinks instead of copies when installing.
  Changed PNG_LIB_NAME from pngNN to libpngNN in CMakeLists.txt (Philip Lowman)
  Implemented memory checks within pngvalid
  Reformatted/rearranged pngvalid.c to assist use of progressive reader.
  Check interlaced images in pngvalid
  Clarified pngusr.h comments in pnglibconf.dfa
  Simplified the pngvalid error-handling code now that cexcept.h is in place.
  Implemented progressive reader in pngvalid.c for standard tests
  Implemented progressive read in pngvalid.c gamma tests
  Turn on progressive reader in pngvalid.c by default and tidy code.

Version 1.5.0beta45 [August 26, 2010]
  Added an explicit make step to projects/vstudio for pnglibconf.h
    Also corrected zlib.vcxproj into which Visual Studio had introduced
    what it calls an "authoring error".  The change to make pnglibconf.h
    simply copies the file; in the future it may actually generate the
    file from scripts/pnglibconf.dfa as the other build systems do.
  Changed pngvalid to work when floating point APIs are disabled
  Renamed the prebuilt scripts/pnglibconf.h to scripts/pnglibconf.h.prebuilt
  Supply default values for PNG_USER_PRIVATEBUILD and PNG_USER_DLLFNAME_POSTFIX
    in pngpriv.h in case the user neglected to define them in their pngusr.h

Version 1.5.0beta46 [August 27, 2010]
  Added new private header files to libpng_sources in CMakeLists.txt
  Added PNG_READ_16BIT, PNG_WRITE_16BIT, and PNG_16BIT options.
  Added reference to scripts/pnglibconf.h.prebuilt in the visualc71 project.

Send comments/corrections/commendations to png-mng-implement at lists.sf.net:
(subscription required; visit
https://lists.sourceforge.net/lists/listinfo/png-mng-implement
to subscribe) or to glennrp at users.sourceforge.net

Glenn R-P