3530 |
3532 |
3531 Version 1.5.4rc01 [June 30, 2011] |
3533 Version 1.5.4rc01 [June 30, 2011] |
3532 Define PNG_ALLOCATED to "restrict" only if MSC_VER >= 1400. |
3534 Define PNG_ALLOCATED to "restrict" only if MSC_VER >= 1400. |
3533 |
3535 |
3534 Version 1.5.4 [July 7, 2011] |
3536 Version 1.5.4 [July 7, 2011] |
|
3537 No changes. |
|
3538 |
|
3539 Version 1.5.5beta01 [July 13, 2011] |
|
3540 Fixed some typos and made other minor changes in the manual. |
|
3541 Updated contrib/pngminus/makefile.std (Samuli Souminen) |
|
3542 |
|
3543 Version 1.5.5beta02 [July 14, 2011] |
|
3544 Revised Makefile.am and Makefile.in to look in the right directory for |
|
3545 pnglibconf.h.prebuilt |
|
3546 |
|
3547 Version 1.5.5beta03 [July 27, 2011] |
|
3548 Enabled compilation with g++ compiler. This compiler does not recognize |
|
3549 the file extension, so it always compiles with C++ rules. Made minor |
|
3550 changes to pngrutil.c to cast results where C++ expects it but C does not. |
|
3551 Minor editing of libpng.3 and libpng-manual.txt. |
|
3552 |
|
3553 Version 1.5.5beta04 [July 29, 2011] |
|
3554 Revised CMakeLists.txt (Clifford Yapp) |
|
3555 Updated commentary about the png_rgb_to_gray() default coefficients |
|
3556 in the manual and in pngrtran.c |
|
3557 |
|
3558 Version 1.5.5beta05 [August 17, 2011] |
|
3559 Prevent unexpected API exports from non-libpng DLLs on Windows. The "_DLL" |
|
3560 is removed from the test of whether a DLL is being built (this erroneously |
|
3561 caused the libpng APIs to be marked as DLL exports in static builds under |
|
3562 Microsoft Visual Studio). Almost all of the libpng building configuration |
|
3563 is moved from pngconf.h to pngpriv.h, but PNG_DLL_EXPORT remains in |
|
3564 pngconf.h, though, so that it is colocated with the import definition (it |
|
3565 is no longer used anywhere in the installed headers). The VStudio project |
|
3566 definitions have been cleaned up: "_USRDLL" has been removed from the |
|
3567 static library builds (this was incorrect), and PNG_USE_DLL has been added |
|
3568 to pngvalid to test the functionality (pngtest does not supply it, |
|
3569 deliberately). The spurious "_EXPORTS" has been removed from the |
|
3570 libpng build (all these errors were a result of copy/paste between project |
|
3571 configurations.) |
|
3572 Added new types and internal functions for CIE RGB end point handling to |
|
3573 pngpriv.h (functions yet to be implemented). |
|
3574 |
|
3575 Version 1.5.5beta06 [August 26, 2011] |
|
3576 Ensure the CMAKE_LIBRARY_OUTPUT_DIRECTORY is set in CMakeLists.txt |
|
3577 (Clifford Yap) |
|
3578 Fixes to rgb_to_gray and cHRM XYZ APIs (John Bowler): |
|
3579 The rgb_to_gray code had errors when combined with gamma correction. |
|
3580 Some pixels were treated as true grey when they weren't and such pixels |
|
3581 and true grey ones were not gamma corrected (the original value of the |
|
3582 red component was used instead). APIs to get and set cHRM using color |
|
3583 space end points have been added and the rgb_to_gray code that defaults |
|
3584 based on cHRM, and the divide-by-zero bug in png_handle_cHRM (CERT |
|
3585 VU#477046, CVE-2011-3328, introduced in 1.5.4) have been corrected. |
|
3586 A considerable number of tests has been added to pngvalid for the |
|
3587 rgb_to_gray transform. |
|
3588 Arithmetic errors in rgb_to_gray whereby the calculated gray value was |
|
3589 truncated to the bit depth rather than rounded have been fixed except in |
|
3590 the 8-bit non-gamma-corrected case (where consistency seems more important |
|
3591 than correctness.) The code still has considerable inaccuracies in the |
|
3592 8-bit case because 8-bit linear arithmetic is used. |
|
3593 |
|
3594 Version 1.5.5beta07 [September 7, 2011] |
|
3595 Added "$(ARCH)" option to makefile.darwin |
|
3596 Added SunOS support to configure.ac and Makefile.am |
|
3597 Changed png_chunk_benign_error() to png_warning() in png.c, in |
|
3598 png_XYZ_from_xy_checked(). |
|
3599 |
|
3600 Version 1.5.5beta08 [September 10, 2011] |
|
3601 Fixed 64-bit compilation errors (gcc). The errors fixed relate |
|
3602 to conditions where types that are 32 bits in the GCC 32-bit |
|
3603 world (uLong and png_size_t) become 64 bits in the 64-bit |
|
3604 world. This produces potential truncation errors which the |
|
3605 compiler correctly flags. |
|
3606 Relocated new HAVE_SOLARIS_LD definition in configure.ac |
|
3607 Constant changes for 64-bit compatibility (removal of L suffixes). The |
|
3608 16-bit cases still use "L" as we don't have a 16-bit test system. |
|
3609 |
|
3610 Version 1.5.5rc01 [September 15, 2011] |
|
3611 Removed "L" suffixes in pngpriv.h |
|
3612 |
|
3613 Version 1.5.5 [September 22, 2011] |
|
3614 No changes. |
|
3615 |
|
3616 Version 1.5.6beta01 [September 22, 2011] |
|
3617 Fixed some 64-bit type conversion warnings in pngrtran.c |
|
3618 Moved row_info from png_struct to a local variable. |
|
3619 The various interlace mask arrays have been made into arrays of |
|
3620 bytes and made PNG_CONST and static (previously some arrays were |
|
3621 marked PNG_CONST and some weren't). |
|
3622 Additional checks have been added to the transform code to validate the |
|
3623 pixel depths after the transforms on both read and write. |
|
3624 Removed some redundant code from pngwrite.c, in png_destroy_write_struct(). |
|
3625 Changed chunk reading/writing code to use png_uint_32 instead of png_byte[4]. |
|
3626 This removes the need to allocate temporary strings for chunk names on |
|
3627 the stack in the read/write code. Unknown chunk handling still uses the |
|
3628 string form because this is exposed in the API. |
|
3629 |
|
3630 Version 1.5.6beta02 [September 26, 2011] |
|
3631 Added a note in the manual the png_read_update_info() must be called only |
|
3632 once with a particular info_ptr. |
|
3633 Fixed a typo in the definition of the new PNG_STRING_FROM_CHUNK(s,c) macro. |
|
3634 |
|
3635 Version 1.5.6beta03 [September 28, 2011] |
|
3636 Revised test-pngtest.sh to report FAIL when pngtest fails. |
|
3637 Added "--strict" option to pngtest, to report FAIL when the failure is |
|
3638 only because the resulting valid files are different. |
|
3639 Revised CMakeLists.txt to work with mingw and removed some material from |
|
3640 CMakeLists.txt that is no longer useful in libpng-1.5. |
|
3641 |
|
3642 Version 1.5.6beta04 [October 5, 2011] |
|
3643 Fixed typo in Makefile.in and Makefile.am ("-M Wl" should be "-M -Wl")." |
|
3644 |
|
3645 Version 1.5.6beta05 [October 12, 2011] |
|
3646 Speed up png_combine_row() for interlaced images. This reduces the generality |
|
3647 of the code, allowing it to be optimized for Adam7 interlace. The masks |
|
3648 passed to png_combine_row() are now generated internally, avoiding |
|
3649 some code duplication and localizing the interlace handling somewhat. |
|
3650 Align png_struct::row_buf - previously it was always unaligned, caused by |
|
3651 a bug in the code that attempted to align it; the code needs to subtract |
|
3652 one from the pointer to take account of the filter byte prepended to |
|
3653 each row. |
|
3654 Optimized png_combine_row() when rows are aligned. This gains a small |
|
3655 percentage for 16-bit and 32-bit pixels in the typical case where the |
|
3656 output row buffers are appropriately aligned. The optimization was not |
|
3657 previously possible because the png_struct buffer was always misaligned. |
|
3658 Fixed bug in png_write_chunk_header() debug print, introduced in 1.5.6beta01. |
|
3659 |
|
3660 Version 1.5.6beta06 [October 17, 2011] |
|
3661 Removed two redundant tests for unitialized row. |
|
3662 Fixed a relatively harmless memory overwrite in compressed text writing |
|
3663 with a 1 byte zlib buffer. |
|
3664 Add ability to call png_read_update_info multiple times to pngvalid.c. |
|
3665 Fixes for multiple calls to png_read_update_info. These fixes attend to |
|
3666 most of the errors revealed in pngvalid, however doing the gamma work |
|
3667 twice results in inaccuracies that can't be easily fixed. There is now |
|
3668 a warning in the code if this is going to happen. |
|
3669 Turned on multiple png_read_update_info in pngvalid transform tests. |
|
3670 Prevent libpng from overwriting unused bits at the end of the image when |
|
3671 it is not byte aligned, while reading. Prior to libpng-1.5.6 libpng would |
|
3672 overwrite the partial byte at the end of each row if the row width was not |
|
3673 an exact multiple of 8 bits and the image is not interlaced. |
|
3674 |
|
3675 Version 1.5.6beta07 [October 21, 2011] |
|
3676 Made png_ptr->prev_row an aligned pointer into png_ptr->big_prev_row |
|
3677 (Mans Rullgard). |
|
3678 |
|
3679 Version 1.5.6rc01 [October 26, 2011] |
|
3680 Changed misleading "Missing PLTE before cHRM" warning to "Out of place cHRM" |
|
3681 |
|
3682 Version 1.5.6rc02 [October 27, 2011] |
|
3683 Added LSR() macro to defend against buggy compilers that evaluate non-taken |
|
3684 code branches and complain about out-of-range shifts. |
|
3685 |
|
3686 Version 1.5.6rc03 [October 28, 2011] |
|
3687 Renamed the LSR() macro to PNG_LSR() and added PNG_LSL() macro. |
|
3688 Fixed compiler warnings with Intel and MSYS compilers. The logical shift |
|
3689 fix for Microsoft Visual C is required by other compilers, so this |
|
3690 enables that fix for all compilers when using compile-time constants. |
|
3691 Under MSYS 'byte' is a name declared in a system header file, so we |
|
3692 changed the name of a local variable to avoid the warnings that result. |
|
3693 Added #define PNG_ALIGN_TYPE PNG_ALIGN_NONE to contrib/pngminim/*/pngusr.h |
|
3694 |
|
3695 Version 1.5.6 [November 3, 2011] |
|
3696 No changes. |
|
3697 |
|
3698 Version 1.5.7beta01 [November 4, 2011] |
|
3699 Added support for ARM processor, when decoding all PNG up-filtered rows |
|
3700 and any other-filtered rows with 3 or 4 bytes per pixel (Mans Rullgard). |
|
3701 Fixed bug in pngvalid on early allocation failure; fixed type cast in |
|
3702 pngmem.c; pngvalid would attempt to call png_error() if the allocation |
|
3703 of a png_struct or png_info failed. This would probably have led to a |
|
3704 crash. The pngmem.c implementation of png_malloc() included a cast |
|
3705 to png_size_t which would fail on large allocations on 16-bit systems. |
|
3706 Fix for the preprocessor of the Intel C compiler. The preprocessor |
|
3707 splits adjacent @ signs with a space; this changes the concatentation |
|
3708 token from @-@-@ to PNG_JOIN; that should work with all compiler |
|
3709 preprocessors. |
|
3710 Paeth filter speed improvements from work by Siarhei Siamashka. This |
|
3711 changes the 'Paeth' reconstruction function to improve the GCC code |
|
3712 generation on x86. The changes are only part of the suggested ones; |
|
3713 just the changes that definitely improve speed and remain simple. |
|
3714 The changes also slightly increase the clarity of the code. |
|
3715 |
|
3716 Version 1.5.7beta02 [November 11, 2011] |
|
3717 Check compression_type parameter in png_get_iCCP and remove spurious |
|
3718 casts. The compression_type parameter is always assigned to, so must |
|
3719 be non-NULL. The cast of the profile length potentially truncated the |
|
3720 value unnecessarily on a 16-bit int system, so the cast of the (byte) |
|
3721 compression type to (int) is specified by ANSI-C anyway. |
|
3722 Fixed FP division by zero in pngvalid.c; the 'test_pixel' code left |
|
3723 the sBIT fields in the test pixel as 0, which resulted in a floating |
|
3724 point division by zero which was irrelevant but causes systems where |
|
3725 FP exceptions cause a crash. Added code to pngvalid to turn on FP |
|
3726 exceptions if the appropriate glibc support is there to ensure this is |
|
3727 tested in the future. |
|
3728 Updated scripts/pnglibconf.mak and scripts/makefile.std to handle the |
|
3729 new PNG_JOIN macro. |
|
3730 Added versioning to pnglibconf.h comments. |
|
3731 Simplified read/write API initial version; basic read/write tested on |
|
3732 a variety of images, limited documentation (in the header file.) |
|
3733 Installed more accurate linear to sRGB conversion tables. The slightly |
|
3734 modified tables reduce the number of 16-bit values that |
|
3735 convert to an off-by-one 8-bit value. The "makesRGB.c" code that was used |
|
3736 to generate the tables is now in a contrib/sRGBtables sub-directory. |
|
3737 |
|
3738 Version 1.5.7beta03 [November 17, 2011] |
|
3739 Removed PNG_CONST from the sRGB table declarations in pngpriv.h and png.c |
|
3740 Added run-time detection of NEON support. |
|
3741 Added contrib/libtests; includes simplified API test and timing test and |
|
3742 a color conversion utility for rapid checking of failed 'pngstest' results. |
|
3743 Multiple transform bug fixes plus a work-round for double gamma correction. |
|
3744 libpng does not support more than one transform that requires linear data |
|
3745 at once - if this is tried typically the results is double gamma |
|
3746 correction. Since the simplified APIs can need rgb to gray combined with |
|
3747 a compose operation it is necessary to do one of these outside the main |
|
3748 libpng transform code. This check-in also contains fixes to various bugs |
|
3749 in the simplified APIs themselves and to some bugs in compose and rgb to |
|
3750 gray (on palette) itself. |
|
3751 Fixes for C++ compilation using g++ When libpng source is compiled |
|
3752 using g++. The compiler imposes C++ rules on the C source; thus it |
|
3753 is desireable to make the source work with either C or C++ rules |
|
3754 without throwing away useful error information. This change adds |
|
3755 png_voidcast to allow C semantic (void*) cases or the corresponding |
|
3756 C++ static_cast operation, as appropriate. |
|
3757 Added --noexecstack to assembler file compilation. GCC does not set |
|
3758 this on assembler compilation, even though it does on C compilation. |
|
3759 This creates security issues if assembler code is enabled; the |
|
3760 work-around is to set it by default in the flags for $(CCAS) |
|
3761 Work around compilers that don't support declaration of const data. Some |
|
3762 compilers fault 'extern const' data declarations (because the data is |
|
3763 not initialized); this turns on const-ness only for compilers where |
|
3764 this is known to work. |
|
3765 |
|
3766 Version 1.5.7beta04 [November 17, 2011] |
|
3767 Since the gcc driver does not recognize the --noexecstack flag, we must |
|
3768 use the -Wa prefix to have it passed through to the assembler. |
|
3769 Also removed a duplicate setting of this flag. |
|
3770 Added files that were omitted from the libpng-1.5.7beta03 zip distribution. |
|
3771 |
|
3772 Version 1.5.7beta05 [November 25, 2011] |
|
3773 Removed "zTXt" from warning in generic chunk decompression function. |
|
3774 Validate time settings passed to pngset() and png_convert_to_rfc1123() |
|
3775 (Frank Busse). |
|
3776 Added MINGW support to CMakeLists.txt |
|
3777 Reject invalid compression flag or method when reading the iTXt chunk. |
|
3778 Backed out 'simplified' API changes. The API seems too complex and there |
|
3779 is a lack of consensus or enthusiasm for the proposals. The API also |
|
3780 reveals significant bugs inside libpng (double gamma correction and the |
|
3781 known bug of being unable to retrieve a corrected palette). It seems |
|
3782 better to wait until the bugs, at least, are corrected. |
|
3783 Moved pngvalid.c into contrib/libtests |
|
3784 Rebuilt Makefile.in, configure, etc., with autoconf-2.68 |
|
3785 |
|
3786 Version 1.5.7rc01 [December 1, 2011] |
|
3787 Replaced an "#if" with "#ifdef" in pngrtran.c |
|
3788 Revised #if PNG_DO_BC block in png.c (use #ifdef and add #else) |
|
3789 |
|
3790 Version 1.5.7rc02 [December 5, 2011] |
|
3791 Revised project files and contrib/pngvalid/pngvalid.c to account for |
|
3792 the relocation of pngvalid into contrib/libtests. |
|
3793 Revised pngconf.h to use " __declspec(restrict)" only when MSC_VER >= 1400, |
|
3794 as in libpng-1.5.4. |
|
3795 Put CRLF line endings in the owatcom project files. |
|
3796 |
|
3797 Version 1.5.7rc03 [December 7, 2011] |
|
3798 Updated CMakeLists.txt to account for the relocation of pngvalid.c |
|
3799 |
|
3800 Version 1.5.7 [December 15, 2011] |
|
3801 Minor fixes to pngvalid.c for gcc 4.6.2 compatibility to remove warnings |
|
3802 reported by earlier versions. |
|
3803 Fixed minor memset/sizeof errors in pngvalid.c. |
|
3804 |
|
3805 Version 1.6.0beta01 [December 15, 2011] |
|
3806 Removed machine-generated configure files from the GIT repository (they will |
|
3807 continue to appear in the tarball distributions and in the libpng15 and |
|
3808 earlier GIT branches). |
|
3809 Restored the new 'simplified' API, which was started in libpng-1.5.7beta02 |
|
3810 but later deleted from libpng-1.5.7beta05. |
|
3811 Added example programs for the new 'simplified' API. |
|
3812 Added ANSI-C (C90) headers and require them, and take advantage of the |
|
3813 change. Also fixed some of the projects/* and contrib/* files that needed |
|
3814 updates for libpng16 and the move of pngvalid.c. |
|
3815 With this change the required ANSI-C header files are assumed to exist: the |
|
3816 implementation must provide float.h, limits.h, stdarg.h and stddef.h and |
|
3817 libpng relies on limits.h and stddef.h existing and behaving as defined |
|
3818 (the other two required headers aren't used). Non-ANSI systems that don't |
|
3819 have stddef.h or limits.h will have to provide an appropriate fake |
|
3820 containing the relevant types and #defines. |
|
3821 The use of FAR/far has been eliminated and the definition of png_alloc_size_t |
|
3822 is now controlled by a flag so that 'small size_t' systems can select it |
|
3823 if necessary. Libpng 1.6 may not currently work on such systems -- it |
|
3824 seems likely that it will ask 'malloc' for more than 65535 bytes with any |
|
3825 image that has a sufficiently large row size (rather than simply failing |
|
3826 to read such images). |
|
3827 New tools directory containing tools used to generate libpng code. |
|
3828 Fixed race conditions in parallel make builds. With higher degrees of |
|
3829 parallelism during 'make' the use of the same temporary file names such |
|
3830 as 'dfn*' can result in a race where a temporary file from one arm of the |
|
3831 build is deleted or overwritten in another arm. This changes the |
|
3832 temporary files for suffix rules to always use $* and ensures that the |
|
3833 non-suffix rules use unique file names. |
|
3834 |
|
3835 Version 1.6.0beta02 [December 21, 2011] |
|
3836 Correct configure builds where build and source directories are separate. |
|
3837 The include path of 'config.h' was erroneously made relative in pngvalid.c |
|
3838 in libpng 1.5.7. |
|
3839 |
|
3840 Version 1.6.0beta03 [December 22, 2011] |
|
3841 Start-up code size improvements, error handler flexibility. These changes |
|
3842 alter how the tricky allocation of the initial png_struct and png_info |
|
3843 structures are handled. png_info is now handled in pretty much the same |
|
3844 way as everything else, except that the allocations handle NULL return |
|
3845 silently. png_struct is changed in a similar way on allocation and on |
|
3846 deallocation a 'safety' error handler is put in place (which should never |
|
3847 be required). The error handler itself is changed to permit mismatches |
|
3848 in the application and libpng error buffer size; however, this means a |
|
3849 silent change to the API to return the jmp_buf if the size doesn't match |
|
3850 the size from the libpng compilation; libpng now allocates the memory and |
|
3851 this may fail. Overall these changes result in slight code size |
|
3852 reductions; however, this is a reduction in code that is always executed |
|
3853 so is particularly valuable. Overall on a 64-bit system the libpng DLL |
|
3854 decreases in code size by 1733 bytes. pngerror.o increases in size by |
|
3855 about 465 bytes because of the new functionality. |
|
3856 Added png_convert_to_rfc1123_buffer() and deprecated png_convert_to_rfc1123() |
|
3857 to avoid including a spurious buffer in the png_struct. |
|
3858 |
|
3859 Version 1.6.0beta04 [December 30, 2011] |
|
3860 Regenerated configure scripts with automake-1.11.2 |
|
3861 Eliminated png_info_destroy(). It is now used only in png.c and only calls |
|
3862 one other internal function and memset(). |
|
3863 Enabled png_get_sCAL_fixed() if floating point APIs are enabled. Previously |
|
3864 it was disabled whenever internal fixed point arithmetic was selected, |
|
3865 which meant it didn't exist even on systems where FP was available but not |
|
3866 preferred. |
|
3867 Added pngvalid.c compile time checks for const APIs. |
|
3868 Implemented 'restrict' for png_info and png_struct. Because of the way |
|
3869 libpng works both png_info and png_struct are always accessed via a |
|
3870 single pointer. This means adding C99 'restrict' to the pointer gives |
|
3871 the compiler some opportunity to optimize the code. This change allows |
|
3872 that. |
|
3873 Moved AC_MSG_CHECKING([if libraries can be versioned]) later to the proper |
|
3874 location in configure.ac (Gilles Espinasse). |
|
3875 Changed png_memcpy to C assignment where appropriate. Changed all those |
|
3876 uses of png_memcpy that were doing a simple assignment to assignments |
|
3877 (all those cases where the thing being copied is a non-array C L-value). |
|
3878 Added some error checking to png_set_*() routines. |
|
3879 Removed the reference to the non-exported function png_memcpy() from |
|
3880 example.c. |
|
3881 Fixed the Visual C 64-bit build - it requires jmp_buf to be aligned, but |
|
3882 it had become misaligned. |
|
3883 Revised contrib/pngminus/pnm2png.c to avoid warnings when png_uint_32 |
|
3884 and unsigned long are of different sizes. |
|
3885 |
|
3886 Version 1.6.0beta05 [January 15, 2012] |
|
3887 Updated manual with description of the simplified API (copied from png.h) |
|
3888 Fix bug in pngerror.c: some long warnings were being improperly truncated |
|
3889 (CVE-2011-3464, bug introduced in libpng-1.5.3beta05). |
|
3890 |
|
3891 Version 1.6.0beta06 [January 24, 2012] |
|
3892 Added palette support to the simplified APIs. This commit |
|
3893 changes some of the macro definitions in png.h, app code |
|
3894 may need corresponding changes. |
|
3895 Increased the formatted warning buffer to 192 bytes. |
|
3896 Added color-map support to simplified API. This is an initial version for |
|
3897 review; the documentation has not yet been updated. |
|
3898 Fixed Min/GW uninstall to remove libpng.dll.a |
|
3899 |
|
3900 Version 1.6.0beta07 [January 28, 2012] |
|
3901 Eliminated Intel icc/icl compiler warnings. The Intel (GCC derived) |
|
3902 compiler issues slightly different warnings from those issued by the |
|
3903 current vesions of GCC. This eliminates those warnings by |
|
3904 adding/removing casts and small code rewrites. |
|
3905 Updated configure.ac from autoupdate: added --enable-werror option. |
|
3906 Also some layout regularization and removal of introduced tab characters |
|
3907 (replaced with 3-character indentation). Obsolete macros identified by |
|
3908 autoupdate have been removed; the replacements are all in 2.59 so |
|
3909 the pre-req hasn't been changed. --enable-werror checks for support |
|
3910 for -Werror (or the given argument) in the compiler. This mimics the |
|
3911 gcc configure option by allowing -Werror to be turned on safely; without |
|
3912 the option the tests written in configure itself fail compilation because |
|
3913 they cause compiler warnings. |
|
3914 Rewrote autogen.sh to run autoreconf instead of running tools one-by-one. |
|
3915 Conditionalize the install rules for MINGW and CYGWIN in CMakeLists.txt and |
|
3916 set CMAKE_LIBRARY_OUTPUT_DIRECTORY to "lib" on all platforms (C. Yapp). |
|
3917 Freeze libtool files in the 'scripts' directory. This version of autogen.sh |
|
3918 attempts to dissuade people from running it when it is not, or should not, |
|
3919 be necessary. In fact, autogen.sh does not work when run in a libpng |
|
3920 directory extracted from a tar distribution anymore. You must run it in |
|
3921 a GIT clone instead. |
|
3922 Added two images to contrib/pngsuite (1-bit and 2-bit transparent grayscale), |
|
3923 and renamed three whose names were inconsistent with those in |
|
3924 pngsuite/README.txt. |
|
3925 |
|
3926 Version 1.6.0beta08 [February 1, 2012] |
|
3927 Fixed Image::colormap misalignment in pngstest.c |
|
3928 Check libtool/libtoolize version number (2.4.2) in configure.ac |
|
3929 Divide test-pngstest.sh into separate pngstest runs for basic and |
|
3930 transparent images. |
|
3931 Moved automake options to AM_INIT_AUTOMAKE in configure.ac |
|
3932 Added color-tests, silent-rules (Not yet implemented in Makefile.am) and |
|
3933 version checking to configure.ac |
|
3934 Improved pngstest speed by not doing redundant tests and add const to |
|
3935 the background parameter of png_image_finish_read. The --background |
|
3936 option is now done automagically only when required, so that commandline |
|
3937 option no longer exists. |
|
3938 Cleaned up pngpriv.h to consistently declare all functions and data. |
|
3939 Also eliminated PNG_CONST_DATA, which is apparently not needed but we |
|
3940 can't be sure until it is gone. |
|
3941 Added symbol prefixing that allows all the libpng external symbols |
|
3942 to be prefixed (suggested by Reuben Hawkins). |
|
3943 Updated "ftbb*.png" list in the owatcom and vstudio projects. |
|
3944 Fixed 'prefix' builds on clean systems. The generation of pngprefix.h |
|
3945 should not require itself. |
|
3946 Updated INSTALL to explain that autogen.sh must be run in a GIT clone, |
|
3947 not in a libpng directory extracted from a tar distribution. |
|
3948 |
|
3949 Version 1.6.0beta09 [February 1, 2012] |
|
3950 Reverted the prebuilt configure files to libpng-1.6.0beta05 condition. |
|
3951 |
|
3952 Version 1.6.0beta10 [February 3, 2012] |
|
3953 Added Z_SOLO for zlib-1.2.6+ and correct pngstest tests |
|
3954 Updated list of test images in CMakeLists.txt |
|
3955 Updated the prebuilt configure files to current condition. |
|
3956 Revised INSTALL information about autogen.sh; it works in tar distributions. |
|
3957 |
|
3958 Version 1.6.0beta11 [February 16, 2012] |
|
3959 Fix character count in pngstest command in projects/owatcom/pngstest.tgt |
|
3960 Revised test-pngstest.sh to report PASS/FAIL for each image. |
|
3961 Updated documentation about the simplified API. |
|
3962 Corrected estimate of error in libpng png_set_rgb_to_gray API. The API is |
|
3963 extremely inaccurate for sRGB conversions because it uses an 8-bit |
|
3964 intermediate linear value and it does not use the sRGB transform, so it |
|
3965 suffers from the known instability in gamma transforms for values close |
|
3966 to 0 (see Poynton). The net result is that the calculation has a maximum |
|
3967 error of 14.99/255; 0.5/255^(1/2.2). pngstest now uses 15 for the |
|
3968 permitted 8-bit error. This may still not be enough because of arithmetic |
|
3969 error. |
|
3970 Removed some unused arrays (with #ifdef) from png_read_push_finish_row(). |
|
3971 Fixed a memory overwrite bug in simplified read of RGB PNG with |
|
3972 non-linear gamma Also bugs in the error checking in pngread.c and changed |
|
3973 quite a lot of the checks in pngstest.c to be correct; either correctly |
|
3974 written or not over-optimistic. The pngstest changes are insufficient to |
|
3975 allow all possible RGB transforms to be passed; pngstest cmppixel needs |
|
3976 to be rewritten to make it clearer which errors it allows and then changed |
|
3977 to permit known inaccuracies. |
|
3978 Removed tests for no-longer-used *_EMPTY_PLTE_SUPPORTED from pngstruct.h |
|
3979 Fixed fixed/float API export conditionals. 1) If FIXED_POINT or |
|
3980 FLOATING_POINT options were switched off, png.h ended up with lone ';' |
|
3981 characters. This is not valid ANSI-C outside a function. The ';' |
|
3982 characters have been moved inside the definition of PNG_FP_EXPORT and |
|
3983 PNG_FIXED_EXPORT. 2) If either option was switched off, the declaration |
|
3984 of the corresponding functions were completely omitted, even though some |
|
3985 of them are still used internally. The result is still valid, but |
|
3986 produces warnings from gcc with some warning options (including -Wall). The |
|
3987 fix is to cause png.h to declare the functions with PNG_INTERNAL_FUNCTION |
|
3988 when png.h is included from pngpriv.h. |
|
3989 Check for invalid palette index while reading paletted PNG. When one is |
|
3990 found, issue a warning and increase png_ptr->num_palette accordingly. |
|
3991 Apps are responsible for checking to see if that happened. |
|
3992 |
|
3993 Version 1.6.0beta12 [February 18, 2012] |
|
3994 Do not increase num_palette on invalid_index. |
|
3995 Relocated check for invalid palette index to pngrtran.c, after unpacking |
|
3996 the sub-8-bit pixels. |
|
3997 Fixed CVE-2011-3026 buffer overrun bug. This bug was introduced when |
|
3998 iCCP chunk support was added at libpng-1.0.6. Deal more correctly with the |
|
3999 test on iCCP chunk length. Also removed spurious casts that may hide |
|
4000 problems on 16-bit systems. |
|
4001 |
|
4002 Version 1.6.0beta13 [February 24, 2012] |
|
4003 Eliminated redundant png_push_read_tEXt|zTXt|iTXt|unknown code from |
|
4004 pngpread.c and use the sequential png_handle_tEXt, etc., in pngrutil.c; |
|
4005 now that png_ptr->buffer is inaccessible to applications, the special |
|
4006 handling is no longer useful. |
|
4007 Added PNG_SAFE_LIMITS feature to pnglibconf.dfa, pngpriv.h, and new |
|
4008 pngusr.dfa to reset the user limits to safe ones if PNG_SAFE_LIMITS is |
|
4009 defined. To enable, use "CPPFLAGS=-DPNG_SAFE_LIMITS_SUPPORTED=1" on the |
|
4010 configure command or put #define PNG_SAFE_LIMITS_SUPPORTED in |
|
4011 pnglibconf.h.prebuilt and pnglibconf.h. |
|
4012 |
|
4013 Version 1.6.0beta14 [February 27, 2012] |
|
4014 Added information about the new limits in the manual. |
|
4015 Updated Makefile.in |
|
4016 |
|
4017 Version 1.6.0beta15 [March 2, 2012] |
|
4018 Removed unused "current_text" members of png_struct and the png_free() |
|
4019 of png_ptr->current_text from pngread.c |
|
4020 Rewrote pngstest.c for substantial speed improvement. |
|
4021 Fixed transparent pixel and 16-bit rgb tests in pngstest and removed a |
|
4022 spurious check in pngwrite.c |
|
4023 Added PNG_IMAGE_FLAG_FAST for the benefit of applications that store |
|
4024 intermediate files, or intermediate in-memory data, while processing |
|
4025 image data with the simplified API. The option makes the files larger |
|
4026 but faster to write and read. pngstest now uses this by default; this |
|
4027 can be disabled with the --slow option. |
|
4028 Improved pngstest fine tuning of error numbers, new test file generator. |
|
4029 The generator generates images that test the full range of sample values, |
|
4030 allow the error numbers in pngstest to be tuned and checked. makepng |
|
4031 also allows generation of images with extra chunks, although this is |
|
4032 still work-in-progress. |
|
4033 Added check for invalid palette index while reading. |
|
4034 Fixed some bugs in ICC profile writing. The code should now accept |
|
4035 all potentially valid ICC profiles and reject obviously invalid ones. |
|
4036 It now uses png_error() to do so rather than casually writing a PNG |
|
4037 without the necessary color data. |
|
4038 Removed whitespace from the end of lines in all source files and scripts. |
|
4039 |
|
4040 Version 1.6.0beta16 [March 6, 2012] |
|
4041 Relocated palette-index checking function from pngrutil.c to pngtrans.c |
|
4042 Added palette-index checking while writing. |
|
4043 Changed png_inflate() and calling routines to avoid overflow problems. |
|
4044 This is an intermediate check-in that solves the immediate problems and |
|
4045 introduces one performance improvement (avoiding a copy via png_ptr->zbuf.) |
|
4046 Further changes will be made to make ICC profile handling more secure. |
|
4047 Fixed build warnings (MSVC, GCC, GCC v3). Cygwin GCC with default options |
|
4048 declares 'index' as a global, causing a warning if it is used as a local |
|
4049 variable. GCC 64-bit warns about assigning a (size_t) (unsigned 64-bit) |
|
4050 to an (int) (signed 32-bit). MSVC, however, warns about using the |
|
4051 unary '-' operator on an unsigned value (even though it is well defined |
|
4052 by ANSI-C to be ~x+1). The padding calculation was changed to use a |
|
4053 different method. Removed the tests on png_ptr->pass. |
|
4054 Added contrib/libtests/tarith.c to test internal arithmetic functions from |
|
4055 png.c. This is a libpng maintainer program used to validate changes to the |
|
4056 internal arithmetic functions. |
|
4057 Made read 'inflate' handling like write 'deflate' handling. The read |
|
4058 code now claims and releases png_ptr->zstream, like the write code. |
|
4059 The bug whereby the progressive reader failed to release the zstream |
|
4060 is now fixed, all initialization is delayed, and the code checks for |
|
4061 changed parameters on deflate rather than always calling |
|
4062 deflatedEnd/deflateInit. |
|
4063 Validate the zTXt strings in pngvalid. |
|
4064 Added code to validate the windowBits value passed to deflateInit2(). |
|
4065 If the call to deflateInit2() is wrong a png_warning will be issued |
|
4066 (in fact this is harmless, but the PNG data produced may be sub-optimal). |
|
4067 |
|
4068 Version 1.6.0beta17 [March 10, 2012] |
|
4069 Fixed PNG_LIBPNG_BUILD_BASE_TYPE definition. |
|
4070 Reject all iCCP chunks after the first, even if the first one is invalid. |
|
4071 Deflate/inflate was reworked to move common zlib calls into single |
|
4072 functions [rw]util.c. A new shared keyword check routine was also added |
|
4073 and the 'zbuf' is no longer allocated on progressive read. It is now |
|
4074 possible to call png_inflate() incrementally. A warning is no longer |
|
4075 issued if the language tag or translated keyword in the iTXt chunk |
|
4076 has zero length. |
|
4077 If benign errors are disabled use maximum window on ancilliary inflate. |
|
4078 This works round a bug introduced in 1.5.4 where compressed ancillary |
|
4079 chunks could end up with a too-small windowBits value in the deflate |
|
4080 header. |
|
4081 |
|
4082 Version 1.6.0beta18 [March 16, 2012] |
|
4083 Issue a png_benign_error() instead of png_warning() about bad palette index. |
|
4084 In pngtest, treat benign errors as errors if "-strict" is present. |
|
4085 Fixed an off-by-one error in the palette index checking function. |
|
4086 Fixed a compiler warning under Cygwin (Windows-7, 32-bit system) |
|
4087 Revised example.c to put text strings in a temporary character array |
|
4088 instead of directly assigning string constants to png_textp members. |
|
4089 This avoids compiler warnings when -Wwrite-strings is enabled. |
|
4090 Added output flushing to aid debugging under Visual Studio. Unfortunately |
|
4091 this is necessary because the VS2010 output window otherwise simply loses |
|
4092 the error messages on error (they weren't flushed to the window before |
|
4093 the process exited, apparently!) |
|
4094 Added configuration support for benign errors and changed the read |
|
4095 default. Also changed some warnings in the iCCP and sRGB handling |
|
4096 from to benign errors. Configuration now makes read benign |
|
4097 errors warnings and write benign errors to errors by default (thus |
|
4098 changing the behavior on read). The simplified API always forces |
|
4099 read benign errors to warnings (regardless of the system default, unless |
|
4100 this is disabled in which case the simplified API can't be built.) |
|
4101 |
|
4102 Version 1.6.0beta19 [March 18, 2012] |
|
4103 Work around for duplicate row start calls; added warning messages. |
|
4104 This turns on PNG_FLAG_DETECT_UNINITIALIZED to detect app code that |
|
4105 fails to call one of the 'start' routines (not enabled in libpng-1.5 |
|
4106 because it is technically an API change, since it did normally work |
|
4107 before.) It also makes duplicate calls to png_read_start_row (an |
|
4108 internal function called at the start of the image read) benign, as |
|
4109 they were before changes to use png_inflate_claim. Somehow webkit is |
|
4110 causing this to happen; this is probably a mis-feature in the zlib |
|
4111 changes so this commit is only a work-round. |
|
4112 Removed erroneous setting of DETECT_UNINITIALIZED and added more |
|
4113 checks. The code now does a png_error if an attempt is made to do the |
|
4114 row initialization twice; this is an application error and it has |
|
4115 serious consequences because the transform data in png_struct is |
|
4116 changed by each call. |
|
4117 Added application error reporting and added chunk names to read |
|
4118 benign errors; also added --strict to pngstest - not enabled |
|
4119 yet because a warning is produced. |
|
4120 Avoid the double gamma correction warning in the simplified API. |
|
4121 This allows the --strict option to pass in the pngstest checks |
|
4122 |
|
4123 Version 1.6.0beta20 [March 29, 2012] |
|
4124 Changed chunk handler warnings into benign errors, incrementally load iCCP |
|
4125 Added checksum-icc.c to contrib/tools |
|
4126 Prevent PNG_EXPAND+PNG_SHIFT doing the shift twice. |
|
4127 Recognize known sRGB ICC profiles while reading; prefer writing the |
|
4128 iCCP profile over writing the sRGB chunk, controlled by the |
|
4129 PNG_sRGB_PROFILE_CHECKS option. |
|
4130 Revised png_set_text_2() to avoid potential memory corruption (fixes |
|
4131 CVE-2011-3048, also known as CVE-2012-3425). |
|
4132 |
|
4133 Version 1.6.0beta21 [April 27, 2012] |
|
4134 Revised scripts/makefile.darwin: use system zlib; remove quotes around |
|
4135 architecture list; add missing ppc architecture; add architecture options |
|
4136 to shared library link; don't try to create a shared lib based on missing |
|
4137 RELEASE variable. |
|
4138 Enable png_set_check_for_invalid_index() for both read and write. |
|
4139 Removed #ifdef PNG_HANDLE_AS_UNKNOWN_SUPPORTED in pngpriv.h around |
|
4140 declaration of png_handle_unknown(). |
|
4141 Added -lssp_nonshared in a comment in scripts/makefile.freebsd |
|
4142 and changed deprecated NOOBJ and NOPROFILE to NO_OBJ and NO_PROFILE. |
|
4143 |
|
4144 Version 1.6.0beta22 [May 23, 2012] |
|
4145 Removed need for -Wno-cast-align with clang. clang correctly warns on |
|
4146 alignment increasing pointer casts when -Wcast-align is passed. This |
|
4147 fixes the cases that clang warns about either by eliminating the |
|
4148 casts from png_bytep to png_uint_16p (pngread.c), or, for pngrutil.c |
|
4149 where the cast is previously verified or pngstest.c where it is OK, by |
|
4150 introducing new png_aligncast macros to do the cast in a way that clang |
|
4151 accepts. |
|
4152 |
|
4153 Version 1.6.0beta23 [June 6, 2012] |
|
4154 Revised CMakeLists.txt to not attempt to make a symlink under mingw. |
|
4155 Made fixes for new optimization warnings from gcc 4.7.0. The compiler |
|
4156 performs an optimization which is safe; however it then warns about it. |
|
4157 Changing the type of 'palette_number' in pngvalid.c removes the warning. |
|
4158 Do not depend upon a GCC feature macro being available for use in generating |
|
4159 the linker mapfile symbol prefix. |
|
4160 Improved performance of new do_check_palette_indexes() function (only |
|
4161 update the value when it actually increases, move test for whether |
|
4162 the check is wanted out of the function. |
|
4163 |
|
4164 Version 1.6.0beta24 [June 7, 2012] |
|
4165 Don't check palette indexes if num_palette is 0 (as it can be in MNG files). |
|
4166 |
|
4167 Version 1.6.0beta25 [June 16, 2012] |
|
4168 Revised png_set_keep_unknown_chunks() so num_chunks < 0 means ignore all |
|
4169 unknown chunks and all known chunks except for IHDR, PLTE, tRNS, IDAT, |
|
4170 and IEND. Previously it only meant ignore all unknown chunks, the |
|
4171 same as num_chunks == 0. Revised png_image_skip_unused_chunks() to |
|
4172 provide a list of chunks to be processed instead of a list of chunks to |
|
4173 ignore. Revised contrib/gregbook/readpng2.c accordingly. |
|
4174 |
|
4175 Version 1.6.0beta26 [July 10, 2012] |
|
4176 Removed scripts/makefile.cegcc from the *.zip and *.7z distributions; it |
|
4177 depends on configure, which is not included in those archives. |
|
4178 Moved scripts/chkfmt to contrib/tools. |
|
4179 Changed "a+w" to "u+w" in Makefile.in to fix CVE-2012-3386. |
|
4180 |
|
4181 Version 1.6.0beta27 [August 11, 2012] |
|
4182 Do not compile PNG_DEPRECATED, PNG_ALLOC and PNG_PRIVATE when __GNUC__ < 3. |
|
4183 Do not use __restrict when GNUC is <= 3.1 |
|
4184 Removed references to png_zalloc() and png_zfree() from the manual. |
|
4185 Fixed configurations where floating point is completely disabled. Because |
|
4186 of the changes to support symbol prefixing PNG_INTERNAL_FUNCTION declares |
|
4187 floating point APIs during libpng builds even if they are completely |
|
4188 disabled. This requires the png floating point types (png_double*) to be |
|
4189 declared even though the functions are never actually defined. This |
|
4190 change provides a dummy definition so that the declarations work, yet any |
|
4191 implementation will fail to compile because of an incomplete type. |
|
4192 Re-eliminated the use of strcpy() in pngtest.c. An unncessary use of |
|
4193 strcpy() was accidentally re-introduced in libpng16; this change replaces |
|
4194 it with strncpy(). |
|
4195 Eliminated use of png_sizeof(); use sizeof() instead. |
|
4196 Use a consistent style for (sizeof type) and (sizeof (array)) |
|
4197 Cleanup of png_set_filler(). This function does very different things on |
|
4198 read and write. In libpng 1.6 the two cases can be distinguished and |
|
4199 considerable code cleanup, and extra error checking, is possible. This |
|
4200 makes calls on the write side that have no effect be ignored with a |
|
4201 png_app_error(), which can be disabled in the app using |
|
4202 png_set_benign_errors(), and removes the spurious use of usr_channels |
|
4203 on the read side. |
|
4204 Insist on autotools 1.12.1 for git builds because there are security issues |
|
4205 with 1.12 and insisting on anything less would allow 1.12 to be used. |
|
4206 Removed info_ptr->signature[8] from WRITE-only builds. |
|
4207 Add some conditions for compiling png_fixed(). This is a small function |
|
4208 but it requires "-lm" on some platforms. |
|
4209 Cause pngtest --strict to fail on any warning from libpng (not just errors) |
|
4210 and cause it not to fail at the comparison step if libpng lacks support |
|
4211 for writing chunks that it reads from the input (currently only implemented |
|
4212 for compressed text chunks). |
|
4213 Make all three "make check" test programs work without READ or WRITE support. |
|
4214 Now "make check" will succeed even if libpng is compiled with -DPNG_NO_READ |
|
4215 or -DPNG_NO_WRITE. The tests performed are reduced, but the basic reading |
|
4216 and writing of a PNG file is always tested by one or more of the tests. |
|
4217 Consistently use strlen(), memset(), memcpy(), and memcmp() instead of the |
|
4218 png_strlen(), png_memset(), png_memcpy(), and png_memcmp() macros. |
|
4219 Removed the png_sizeof(), png_strlen(), png_memset(), png_memcpy(), and |
|
4220 png_memcmp() macros. |
|
4221 Work around gcc 3.x and Microsoft Visual Studio 2010 complaints. Both object |
|
4222 to the split initialization of num_chunks. |
|
4223 |
|
4224 Version 1.6.0beta28 [August 29, 2012] |
|
4225 Unknown handling fixes and clean up. This adds more correct option |
|
4226 control of the unknown handling, corrects the pre-existing bug where |
|
4227 the per-chunk 'keep' setting is ignored and makes it possible to skip |
|
4228 IDAT chunks in the sequential reader (broken in earlier 1.6 versions). |
|
4229 There is a new test program, test-unknown.c, which is a work in progress |
|
4230 (not currently part of the test suite). Comments in the header files now |
|
4231 explain how the unknown handling works. |
|
4232 Allow fine grain control of unknown chunk APIs. This change allows |
|
4233 png_set_keep_unknown_chunks() to be turned off if not required and causes |
|
4234 both read and write to behave appropriately (on read this is only possible |
|
4235 if the user callback is used to handle unknown chunks). The change |
|
4236 also removes the support for storing unknown chunks in the info_struct |
|
4237 if the only unknown handling enabled is via the callback, allowing libpng |
|
4238 to be configured with callback reading and none of the unnecessary code. |
|
4239 Corrected fix for unknown handling in pngtest. This reinstates the |
|
4240 libpng handling of unknown chunks other than vpAg and sTER (including |
|
4241 unsafe-to-copy chunks which were dropped before) and eliminates the |
|
4242 repositioning of vpAg and sTER in pngtest.png by changing pngtest.png |
|
4243 (so the chunks are where libpng would put them). |
|
4244 Added "tunknown" test and corrected a logic error in png_handle_unknown() |
|
4245 when SAVE support is absent. Moved the shell test scripts for |
|
4246 contrib/libtests from the libpng top directory to contrib/libtests. |
|
4247 png_handle_unknown() must always read or skip the chunk, if |
|
4248 SAVE_UNKNOWN_CHUNKS is turned off *and* the application does not set |
|
4249 a user callback an unknown chunk will not be read, leading to a read |
|
4250 error, which was revealed by the "tunknown" test. |
|
4251 Cleaned up and corrected ICC profile handling. |
|
4252 contrib/libtests/makepng: corrected 'rgb' and 'gray' cases. profile_error |
|
4253 messages could be truncated; made a correct buffer size calculation and |
|
4254 adjusted pngerror.c appropriately. png_icc_check_* checking improved; |
|
4255 changed the functions to receive the correct color type of the PNG on read |
|
4256 or write and check that it matches the color space of the profile (despite |
|
4257 what the comments said before, there is danger in assuming the app will |
|
4258 cope correctly with an RGB profile on a grayscale image and, since it |
|
4259 violates the PNG spec, allowing it is certain to produce inconsistent |
|
4260 app behavior and might even cause app crashes.) Check that profiles |
|
4261 contain the tags needed to process the PNG (tags all required by the ICC |
|
4262 spec). Removed unused PNG_STATIC from pngpriv.h. |
|
4263 |
|
4264 Version 1.6.0beta29 [September 4, 2012] |
|
4265 Fixed the simplified API example programs to add the *colormap parameter |
|
4266 to several of he API and improved the error message if the version field |
|
4267 is not set. |
|
4268 Added contrib/examples/* to the *.zip and *.7z distributions. |
|
4269 Updated simplified API synopses and description of the png_image structure |
|
4270 in the manual. |
|
4271 Made makepng and pngtest produce identical PNGs, add "--relaxed" option |
|
4272 to pngtest. The "--relaxed" option turns off the benign errors that are |
|
4273 enabled by default in pre-RC builds. makepng can now write ICC profiles |
|
4274 where the length has not been extended to a multiple of 4, and pngtest |
|
4275 now intercepts all libpng errors, allowing the previously-introduced |
|
4276 "--strict test" on no warnings to actually work. |
|
4277 Improved ICC profile handling including cHRM chunk generation and fixed |
|
4278 Cygwin+MSVC build errors. The ICC profile handling now includes more |
|
4279 checking. Several errors that caused rejection of the profile are now |
|
4280 handled with a warning in such a way that the invalid profiles will be |
|
4281 read by default in release (but not pre-RC) builds but will not be |
|
4282 written by default. The easy part of handling the cHRM chunk is written, |
|
4283 where the ICC profile contains the required data. The more difficult |
|
4284 part plus guessing a gAMA value requires code to pass selected RGB values |
|
4285 through the profile. |
|
4286 |
|
4287 Version 1.6.0beta30 [October 24, 2012] |
|
4288 Changed ICC profile matrix/vector types to not depend on array type rules. |
|
4289 By the ANSI-C standard the new types should be identical to the previous |
|
4290 versions, and all known versions of gcc tested with the previous versions |
|
4291 except for GCC-4.2.1 work with this version. The change makes the ANSI-C |
|
4292 rule that const applied to an array of elements applies instead to the |
|
4293 elements in the array moot by explicitly applying const to the base |
|
4294 elements of the png_icc_matrix and png_icc_vector types. The accidental |
|
4295 (harmless) 'const' previously applied to the parameters of two of the |
|
4296 functions have also been removed. |
|
4297 Added a work around for GCC 4.2 optimization bug. |
|
4298 Marked the broken (bad white point) original HP sRGB profiles correctly and |
|
4299 correct comments. |
|
4300 Added -DZ_SOLO to contrib/pngminim/*/makefile to work with zlib-1.2.7 |
|
4301 Use /MDd for vstudio debug builds. Also added pngunkown to the vstudio |
|
4302 builds, fixed build errors and corrected a minor exit code error in |
|
4303 pngvalid if the 'touch' file name is invalid. |
|
4304 Add updated WARNING file to projects/vstudio from libpng 1.5/vstudio |
|
4305 Fixed build when using #define PNG_NO_READ_GAMMA in png_do_compose() in |
|
4306 pngrtran.c (Domani Hannes). |
|
4307 |
|
4308 Version 1.6.0beta31 [November 1, 2012] |
|
4309 Undid the erroneous change to vstudio/pngvalid build in libpng-1.6.0beta30. |
|
4310 Made pngvalid so that it will build outside the libpng source tree. |
|
4311 Made builds -DPNG_NO_READ_GAMMA compile (the unit tests still fail). |
|
4312 Made PNG_NO_READ_GAMMA switch off interfaces that depend on READ_GAMMA. |
|
4313 Prior to 1.6.0 switching off READ_GAMMA did unpredictable things to the |
|
4314 interfaces that use it (specifically, png_do_background in 1.4 would |
|
4315 simply display composite for grayscale images but do composition |
|
4316 with the incorrect arithmetic for color ones). In 1.6 the semantic |
|
4317 of -DPNG_NO_READ_GAMMA is changed to simply disable any interface that |
|
4318 depends on it; this obliges people who set it to consider whether they |
|
4319 really want it off if they happen to use any of the interfaces in |
|
4320 question (typically most users who disable it won't). |
|
4321 Fixed GUIDs in projects/vstudio. Some were duplicated or missing, |
|
4322 resulting in VS2010 having to update the files. |
|
4323 Removed non-working ICC profile support code that was mostly added to |
|
4324 libpng-1.6.0beta29 and beta30. There was too much code for too little |
|
4325 gain; implementing full ICC color correction may be desireable but is left |
|
4326 up to applications. |
|
4327 |
|
4328 Version 1.6.0beta32 [November 25, 2012] |
|
4329 Fixed an intermittent SEGV in pngstest due to an uninitialized array element. |
|
4330 Added the ability for contrib/libtests/makepng.c to make a PNG with just one |
|
4331 color. This is useful for debugging pngstest color inaccuracy reports. |
|
4332 Fixed error checking in the simplified write API (Olaf van der Spek) |
|
4333 Made png_user_version_check() ok to use with libpng version 1.10.x and later. |
|
4334 |
|
4335 Version 1.6.0beta33 [December 15, 2012] |
|
4336 Fixed typo in png.c (PNG_SET_CHUNK_MALLOC_MAX should be PNG_CHUNK_MALLOC_MAX) |
|
4337 that causes the MALLOC_MAX limit not to work (John Bowler) |
|
4338 Change png_warning() to png_app_error() in pngwrite.c and comment the |
|
4339 fall-through condition. |
|
4340 Change png_warning() to png_app_warning() in png_write_tRNS(). |
|
4341 Rearranged the ARM-NEON optimizations: Isolated the machine specific code |
|
4342 to the hardware subdirectory and added comments to pngrutil.c so that |
|
4343 implementors of other optimizations know what to do. |
|
4344 Fixed cases of unquoted DESTDIR in Makefile.am |
|
4345 Rebuilt Makefile.in, etc., with autoconf-2.69 and automake-1.12.5. |
|
4346 |
|
4347 Version 1.6.0beta34 [December 19, 2012] |
|
4348 Cleaned up whitespace in the synopsis portion of the manpage "libpng.3" |
|
4349 Disassembled the version number in scripts/options.awk (necessary for |
|
4350 building on SunOs). |
|
4351 |
|
4352 Version 1.6.0beta35 [December 23, 2012] |
|
4353 Made default Zlib compression settings be configurable. This adds #defines to |
|
4354 pnglibconf.h to control the defaults. |
|
4355 Fixed Windows build issues, enabled ARM compilation. Various warnings issued |
|
4356 by earlier versions of GCC fixed for Cygwin and Min/GW (which both use old |
|
4357 GCCs.) ARM support is enabled by default in zlib.props (unsupported by |
|
4358 Microsoft) and ARM compilation is made possible by deleting the check for |
|
4359 x86. The test programs cannot be run because they are not signed. |
|
4360 |
|
4361 Version 1.6.0beta36 [January 2, 2013] |
|
4362 Discontinued distributing libpng-1.x.x.tar.bz2. |
|
4363 Discontinued distributing libpng-1.7.0-1.6.0-diff.txt and similar. |
|
4364 Rebuilt configure with autoconf-2.69 (inadvertently not done in beta33) |
|
4365 Fixed 'make distcheck' on SUN OS - libpng.so was not being removed |
|
4366 |
|
4367 Version 1.6.0beta37 [January 10, 2013] |
|
4368 Fixed conceivable but difficult to repro overflow. Also added two test |
|
4369 programs to generate and test a PNG which should have the problem. |
|
4370 |
|
4371 Version 1.6.0beta39 [January 19, 2013] |
|
4372 Again corrected attempt at overflow detection in png_set_unknown_chunks() |
|
4373 (CVE-2013-7353). Added overflow detection in png_set_sPLT() and |
|
4374 png_set_text_2() (CVE-2013-7354). |
|
4375 |
|
4376 Version 1.6.0beta40 [January 20, 2013] |
|
4377 Use consistent handling of overflows in text, sPLT and unknown png_set_* APIs |
|
4378 |
|
4379 Version 1.6.0rc01 [January 26, 2013] |
|
4380 No changes. |
|
4381 |
|
4382 Version 1.6.0rc02 [February 4, 2013] |
|
4383 Added png_get_palette_max() function. |
|
4384 |
|
4385 Version 1.6.0rc03 [February 5, 2013] |
|
4386 Fixed the png_get_palette_max API. |
|
4387 |
|
4388 Version 1.6.0rc04 [February 7, 2013] |
|
4389 Turn serial tests back on (recently turned off by autotools upgrade). |
|
4390 |
|
4391 Version 1.6.0rc05 [February 8, 2013] |
|
4392 Update manual about png_get_palette_max(). |
|
4393 |
|
4394 Version 1.6.0rc06 [February 9, 2013] |
|
4395 Fixed missing dependency in --prefix builds The intermediate |
|
4396 internal 'prefix.h' file can only be generated correctly after |
|
4397 pnglibconf.h, however the dependency was not in Makefile.am. The |
|
4398 symptoms are unpredictable depending on the order make chooses to |
|
4399 build pngprefix.h and pnglibconf.h, often the error goes unnoticed |
|
4400 because there is a system pnglibconf.h to use instead. |
|
4401 |
|
4402 Version 1.6.0rc07 [February 10, 2013] |
|
4403 Enclosed the new png_get_palette_max in #ifdef PNG_GET_PALETTE_MAX_SUPPORTED |
|
4404 block, and revised pnglibconf.h and pnglibconf.h.prebuilt accordingly. |
|
4405 |
|
4406 Version 1.6.0rc08 [February 10, 2013] |
|
4407 Fix typo in png.h #ifdef |
|
4408 |
|
4409 Version 1.6.0 [February 14, 2013] |
|
4410 No changes. |
|
4411 |
|
4412 Version 1.6.1beta01 [February 16, 2013] |
|
4413 Made symbol prefixing work with the ARM neon optimizations. Also allow |
|
4414 pngpriv.h to be included for preprocessor definitions only, so it can |
|
4415 be used in non-C/C++ files. Back ported from libpng 1.7. |
|
4416 Made sRGB check numbers consistent. |
|
4417 Ported libpng 1.5 options.awk/dfn file handling to 1.6, fixed one bug. |
|
4418 Removed cc -E workround, corrected png_get_palette_max API Tested on |
|
4419 SUN OS cc 5.9, which demonstrates the tokenization problem previously |
|
4420 avoided by using /lib/cpp. Since all .dfn output is now protected in |
|
4421 double quotes unless it is to be macro substituted the fix should |
|
4422 work everywhere. |
|
4423 Enabled parallel tests - back ported from libpng-1.7. |
|
4424 scripts/pnglibconf.dfa formatting improvements back ported from libpng17. |
|
4425 Fixed a race condition in the creation of the build 'scripts' directory |
|
4426 while building with a parallel make. |
|
4427 Use approved/supported Android method to check for NEON, use Linux/POSIX |
|
4428 1003.1 API to check /proc/self/auxv avoiding buffer allocation and other |
|
4429 library calls (ported from libpng15). |
|
4430 |
|
4431 Version 1.6.1beta02 [February 19, 2013] |
|
4432 Use parentheses more consistently in "#if defined(MACRO)" tests. |
|
4433 Folded long lines. |
|
4434 Reenabled code to allow zero length PLTE chunks for MNG. |
|
4435 |
|
4436 Version 1.6.1beta03 [February 22, 2013] |
|
4437 Fixed ALIGNED_MEMORY support. |
|
4438 Allow run-time ARM NEON checking to be disabled. A new configure option: |
|
4439 --enable-arm-neon=always will stop the run-time checks. New checks |
|
4440 within arm/arm_init.c will cause the code not to be compiled unless |
|
4441 __ARM_NEON__ is set. This should make it fail safe (if someone asks |
|
4442 for it on then the build will fail if it can't be done.) |
|
4443 Updated the INSTALL document. |
|
4444 |
|
4445 Version 1.6.1beta04 [February 27, 2013] |
|
4446 Revised INSTALL to recommend using CPPFLAGS instead of INCLUDES. |
|
4447 Revised scripts/makefile.freebsd to respect ZLIBLIB and ZLIBINC. |
|
4448 Revised scripts/dfn.awk to work with the buggy MSYS awk that has trouble |
|
4449 with CRLF line endings. |
|
4450 |
|
4451 Version 1.6.1beta05 [March 1, 2013] |
|
4452 Avoid a possible memory leak in contrib/gregbook/readpng.c |
|
4453 |
|
4454 Version 1.6.1beta06 [March 4, 2013] |
|
4455 Better documentation of unknown handling API interactions. |
|
4456 Corrected Android builds and corrected libpng.vers with symbol |
|
4457 prefixing. This adds an API to set optimization options externally, |
|
4458 providing an alternative and general solution for the non-portable |
|
4459 run-time tests used by the ARM Neon code. It also makes those tests |
|
4460 compile and link on Android. |
|
4461 The order of settings vs options in pnglibconf.h is reversed to allow |
|
4462 settings to depend on options and options can now set (or override) the |
|
4463 defaults for settings. |
|
4464 |
|
4465 Version 1.6.1beta07 [March 7, 2013] |
|
4466 Corrected simplified API default gamma for color-mapped output, added |
|
4467 a flag to change default. In 1.6.0 when the simplified API was used |
|
4468 to produce color-mapped output from an input image with no gamma |
|
4469 information the gamma assumed for the input could be different from |
|
4470 that assumed for non-color-mapped output. In particular 16-bit depth |
|
4471 input files were assumed to be sRGB encoded, whereas in the 'direct' |
|
4472 case they were assumed to have linear data. This was an error. The |
|
4473 fix makes the simplified API treat all input files the same way and |
|
4474 adds a new flag to the png_image::flags member to allow the |
|
4475 application/user to specify that 16-bit files contain sRGB data |
|
4476 rather than the default linear. |
|
4477 Fixed bugs in the pngpixel and makepng test programs. |
|
4478 |
|
4479 Version 1.6.1beta08 [March 7, 2013] |
|
4480 Fixed CMakelists.txt to allow building a single variant of the library |
|
4481 (Claudio Bley): |
|
4482 Introduced a PNG_LIB_TARGETS variable that lists all activated library |
|
4483 targets. It is an error if this variable ends up empty, ie. you have |
|
4484 to build at least one library variant. |
|
4485 Made the *_COPY targets only depend on library targets actually being build. |
|
4486 Use PNG_LIB_TARGETS to unify a code path. |
|
4487 Changed the CREATE_SYMLINK macro to expect the full path to a file as the |
|
4488 first argument. When symlinking the filename component of that path is |
|
4489 determined and used as the link target. |
|
4490 Use copy_if_different in the CREATE_SYMLINK macro. |
|
4491 |
|
4492 Version 1.6.1beta09 [March 13, 2013] |
|
4493 Eliminated two warnings from the Intel C compiler. The warnings are |
|
4494 technically valid, although a reasonable treatment of division would |
|
4495 show it to be incorrect. |
|
4496 |
|
4497 Version 1.6.1rc01 [March 21, 2013] |
|
4498 No changes. |
|
4499 |
|
4500 Version 1.6.1 [March 28, 2013] |
|
4501 No changes. |
|
4502 |
|
4503 Version 1.6.2beta01 [April 14, 2013] |
|
4504 Updated documentation of 1.5.x to 1.6.x changes in iCCP chunk handling. |
|
4505 Fixed incorrect warning of excess deflate data. End condition - the |
|
4506 warning would be produced if the end of the deflate stream wasn't read |
|
4507 in the last row. The warning is harmless. |
|
4508 Corrected the test on user transform changes on read. It was in the |
|
4509 png_set of the transform function, but that doesn't matter unless the |
|
4510 transform function changes the rowbuf size, and that is only valid if |
|
4511 transform_info is called. |
|
4512 Corrected a misplaced closing bracket in contrib/libtests/pngvalid.c |
|
4513 (Flavio Medeiros). |
|
4514 Corrected length written to uncompressed iTXt chunks (Samuli Suominen). |
|
4515 Bug was introduced in libpng-1.6.0. |
|
4516 |
|
4517 Version 1.6.2rc01 [April 18, 2013] |
|
4518 Added contrib/tools/fixitxt.c, to repair the erroneous iTXt chunk length |
|
4519 written by libpng-1.6.0 and 1.6.1. |
|
4520 Disallow storing sRGB information when the sRGB is not supported. |
|
4521 |
|
4522 Version 1.6.2rc02 [April 18, 2013] |
|
4523 Merge pngtest.c with libpng-1.7.0 |
|
4524 |
|
4525 Version 1.6.2rc03 [April 22, 2013] |
|
4526 Trivial spelling cleanup. |
|
4527 |
|
4528 Version 1.6.2rc04 and 1.6.2rc05 [omitted] |
|
4529 |
|
4530 Version 1.6.2rc06 [April 24, 2013] |
|
4531 Reverted to version 1.6.2rc03. Recent changes to arm/neon support |
|
4532 have been ported to libpng-1.7.0beta09 and will reappear in version |
|
4533 1.6.3beta01. |
|
4534 |
|
4535 Version 1.6.2 [April 25, 2013] |
|
4536 No changes. |
|
4537 |
|
4538 Version 1.6.3beta01 [April 25, 2013] |
|
4539 Revised stack marking in arm/filter_neon.S and configure.ac. |
|
4540 Ensure that NEON filter stuff is completely disabled when switched 'off'. |
|
4541 Previously the ARM NEON specific files were still built if the option |
|
4542 was switched 'off' as opposed to being explicitly disabled. |
|
4543 |
|
4544 Version 1.6.3beta02 [April 26, 2013] |
|
4545 Test for 'arm*' not just 'arm' in the host_cpu configure variable. |
|
4546 Rebuilt the configure scripts. |
|
4547 |
|
4548 Version 1.6.3beta03 [April 30, 2013] |
|
4549 Expanded manual paragraph about writing private chunks, particularly |
|
4550 the need to call png_set_keep_unknown_chunks() when writing them. |
|
4551 Avoid dereferencing NULL pointer possibly returned from |
|
4552 png_create_write_struct() (Andrew Church). |
|
4553 |
|
4554 Version 1.6.3beta05 [May 9, 2013] |
|
4555 Calculate our own zlib windowBits when decoding rather than trusting the |
|
4556 CMF bytes in the PNG datastream. |
|
4557 Added an option to force maximum window size for inflating, which was |
|
4558 the behavior of libpng15 and earlier. |
|
4559 Added png-fix-itxt and png-fix-too-far-back to the built programs and |
|
4560 removed warnings from the source code and timepng that are revealed as |
|
4561 a result. |
|
4562 Detect wrong libpng versions linked to png-fix-too-far-back, which currently |
|
4563 only works with libpng versions that can be made to reliably fail when |
|
4564 the deflate data contains an out-of-window reference. This means only |
|
4565 1.6 and later. |
|
4566 Fixed gnu issues: g++ needs a static_cast, gcc 4.4.7 has a broken warning |
|
4567 message which it is easier to work round than ignore. |
|
4568 Updated contrib/pngminus/pnm2png.c (Paul Stewart): |
|
4569 Check for EOF |
|
4570 Ignore "#" delimited comments in input file to pnm2png.c. |
|
4571 Fixed whitespace handling |
|
4572 Added a call to png_set_packing() |
|
4573 Initialize dimension values so if sscanf fails at least we have known |
|
4574 invalid values. |
|
4575 Attempt to detect configuration issues with png-fix-too-far-back, which |
|
4576 requires both the correct libpng and the correct zlib to function |
|
4577 correctly. |
|
4578 Check ZLIB_VERNUM for mismatches, enclose #error in quotes |
|
4579 Added information in the documentation about problems with and fixes for |
|
4580 the bad CRC and bad iTXt chunk situations. |
|
4581 |
|
4582 Version 1.6.3beta06 [May 12, 2013] |
|
4583 Allow contrib/pngminus/pnm2png.c to compile without WRITE_INVERT and |
|
4584 WRITE_PACK supported (writes error message that it can't read P1 or |
|
4585 P4 PBM files). |
|
4586 Improved png-fix-too-far-back usage message, added --suffix option. |
|
4587 Revised contrib/pngminim/*/makefile to generate pnglibconf.h with the |
|
4588 right zlib header files. |
|
4589 Separated CPPFLAGS and CFLAGS in contrib/pngminim/*/makefile |
|
4590 |
|
4591 Version 1.6.3beta07 [June 8, 2013] |
|
4592 Removed a redundant test in png_set_IHDR(). |
|
4593 Added set(CMAKE_CONFIGURATION_TYPES ...) to CMakeLists.txt (Andrew Hundt) |
|
4594 Deleted set(CMAKE_BUILD_TYPE) block from CMakeLists.txt |
|
4595 Enclose the prototypes for the simplified write API in |
|
4596 #ifdef PNG_STDIO_SUPPORTED/#endif |
|
4597 Make ARM NEON support work at compile time (not just configure time). |
|
4598 This moves the test on __ARM_NEON__ into pngconf.h to avoid issues when |
|
4599 using a compiler that compiles for multiple architectures at one time. |
|
4600 Removed PNG_FILTER_OPTIMIZATIONS and PNG_ARM_NEON_SUPPORTED from |
|
4601 pnglibconf.h, allowing more of the decisions to be made internally |
|
4602 (pngpriv.h) during the compile. Without this, symbol prefixing is broken |
|
4603 under certain circumstances on ARM platforms. Now only the API parts of |
|
4604 the optimizations ('check' vs 'api') are exposed in the public header files |
|
4605 except that the new setting PNG_ARM_NEON_OPT documents how libpng makes the |
|
4606 decision about whether or not to use the optimizations. |
|
4607 Protect symbol prefixing against CC/CPPFLAGS/CFLAGS useage. |
|
4608 Previous iOS/Xcode fixes for the ARM NEON optimizations moved the test |
|
4609 on __ARM_NEON__ from configure time to compile time. This breaks symbol |
|
4610 prefixing because the definition of the special png_init_filter_functions |
|
4611 call was hidden at configure time if the relevant compiler arguments are |
|
4612 passed in CFLAGS as opposed to CC. This change attempts to avoid all |
|
4613 the confusion that would result by declaring the init function even when |
|
4614 it is not used, so that it will always get prefixed. |
|
4615 |
|
4616 Version 1.6.3beta08 [June 18, 2013] |
|
4617 Revised libpng.3 so that "doclifter" can process it. |
|
4618 |
|
4619 Version 1.6.3beta09 [June 27, 2013] |
|
4620 Revised example.c to illustrate use of PNG_DEFAULT_sRGB and PNG_GAMMA_MAC_18 |
|
4621 as parameters for png_set_gamma(). These have been available since |
|
4622 libpng-1.5.4. |
|
4623 Renamed contrib/tools/png-fix-too-far-back.c to pngfix.c and revised it |
|
4624 to check all compressed chunks known to libpng. |
|
4625 |
|
4626 Version 1.6.3beta10 [July 5, 2013] |
|
4627 Updated documentation to show default behavior of benign errors correctly. |
|
4628 Only compile ARM code when PNG_READ_SUPPORTED is defined. |
|
4629 Fixed undefined behavior in contrib/tools/pngfix.c and added new strip |
|
4630 option. pngfix relied on undefined behavior and even a simple change from |
|
4631 gcc to g++ caused it to fail. The new strip option 'unsafe' has been |
|
4632 implemented and is the default if --max is given. Option names have |
|
4633 been clarified, with --strip=transform now stripping the bKGD chunk, |
|
4634 which was stripped previously with --strip=unused. |
|
4635 Added all documented chunk types to pngpriv.h |
|
4636 Unified pngfix.c source with libpng17. |
|
4637 |
|
4638 Version 1.6.3rc01 [July 11, 2013] |
|
4639 No changes. |
|
4640 |
|
4641 Version 1.6.3 [July 18, 2013] |
|
4642 Revised manual about changes in iTXt chunk handling made in libpng-1.6.0. |
|
4643 Added "/* SAFE */" comments in pngrutil.c and pngrtran.c where warnings |
|
4644 may be erroneously issued by code-checking applications. |
|
4645 |
|
4646 Version 1.6.4beta01 [August 21, 2013] |
|
4647 Added information about png_set_options() to the manual. |
|
4648 Delay calling png_init_filter_functions() until a row with nonzero filter |
|
4649 is found. |
|
4650 |
|
4651 Version 1.6.4beta02 [August 30, 2013] |
|
4652 Fixed inconsistent conditional compilation of png_chunk_unknown_handling() |
|
4653 prototype, definition, and usage. Made it depend on |
|
4654 PNG_HANDLE_AS_UNKNOWN_SUPPORTED everywhere. |
|
4655 |
|
4656 Version 1.6.4rc01 [September 5, 2013] |
|
4657 No changes. |
|
4658 |
|
4659 Version 1.6.4 [September 12, 2013] |
|
4660 No changes. |
|
4661 |
|
4662 Version 1.6.5 [September 14, 2013] |
|
4663 Removed two stray lines of code from arm/arm_init.c. |
|
4664 |
|
4665 Version 1.6.6 [September 16, 2013] |
|
4666 Removed two stray lines of code from arm/arm_init.c, again. |
|
4667 |
|
4668 Version 1.6.7beta01 [September 30, 2013] |
|
4669 Revised unknown chunk code to correct several bugs in the NO_SAVE_/NO_WRITE |
|
4670 combination |
|
4671 Allow HANDLE_AS_UNKNOWN to work when other options are configured off. Also |
|
4672 fixed the pngminim makefiles to work when $(MAKEFLAGS) contains stuff |
|
4673 which terminates the make options (as by default in recent versions of |
|
4674 Gentoo). |
|
4675 Avoid up-cast warnings in pngvalid.c. On ARM the alignment requirements of |
|
4676 png_modifier are greater than that of png_store and as a consequence |
|
4677 compilation of pngvalid.c results in a warning about increased alignment |
|
4678 requirements because of the bare cast to (png_modifier*). The code is safe, |
|
4679 because the pointer is known to point to a stack allocated png_modifier, |
|
4680 but this change avoids the warning. |
|
4681 Fixed default behavior of ARM_NEON_API. If the ARM NEON API option was |
|
4682 compiled without the CHECK option it defaulted to on, not off. |
|
4683 Check user callback behavior in pngunknown.c. Previous versions compiled |
|
4684 if SAVE_UNKNOWN was not available but did nothing since the callback |
|
4685 was never implemented. |
|
4686 Merged pngunknown.c with 1.7 version and back ported 1.7 improvements/fixes |
|
4687 |
|
4688 Version 1.6.7beta02 [October 12, 2013] |
|
4689 Made changes for compatibility with automake 1.14: |
|
4690 1) Added the 'compile' program to the list of programs that must be cleaned |
|
4691 in autogen.sh |
|
4692 2) Added 'subdir-objects' which causes .c files in sub-directories to be |
|
4693 compiled such that the corresponding .o files are also in the |
|
4694 sub-directory. This is because automake 1.14 warns that the |
|
4695 current behavior of compiling to the top level directory may be removed |
|
4696 in the future. |
|
4697 3) Updated dependencies on pnglibconf.h to match the new .o locations and |
|
4698 added all the files in contrib/libtests and contrib/tools that depend |
|
4699 on pnglibconf.h |
|
4700 4) Added 'BUILD_SOURCES = pnglibconf.h'; this is the automake recommended |
|
4701 way of handling the dependencies of sources that are machine generated; |
|
4702 unfortunately it only works if the user does 'make all' or 'make check', |
|
4703 so the dependencies (3) are still required. |
|
4704 Cleaned up (char*) casts of zlib messages. The latest version of the Intel C |
|
4705 compiler complains about casting a string literal as (char*), so copied the |
|
4706 treatment of z_const from the library code into pngfix.c |
|
4707 Simplified error message code in pngunknown. The simplification has the |
|
4708 useful side effect of avoiding a bogus warning generated by the latest |
|
4709 version of the Intel C compiler (it objects to |
|
4710 condition ? string-literal : string-literal). |
|
4711 Make autogen.sh work with automake 1.13 as well as 1.14. Do this by always |
|
4712 removing the 1.14 'compile' script but never checking for it. |
|
4713 |
|
4714 Version 1.6.7beta03 [October 19, 2013] |
|
4715 Added ARMv8 support (James Yu <james.yu at linaro.org>). Added file |
|
4716 arm/filter_neon_intrinsics.c; enable with -mfpu=neon. |
|
4717 Revised pngvalid to generate size images with as many filters as it can |
|
4718 manage, limited by the number of rows. |
|
4719 Cleaned up ARM NEON compilation handling. The tests are now in pngpriv.h |
|
4720 and detect the broken GCC compilers. |
|
4721 |
|
4722 Version 1.6.7beta04 [October 26, 2013] |
|
4723 Allow clang derived from older GCC versions to use ARM intrinsics. This |
|
4724 causes all clang builds that use -mfpu=neon to use the intrinsics code, |
|
4725 not the assembler code. This has only been tested on iOS 7. It may be |
|
4726 necessary to exclude some earlier clang versions but this seems unlikely. |
|
4727 Changed NEON implementation selection mechanism. This allows assembler |
|
4728 or intrinsics to be turned on at compile time during the build by defining |
|
4729 PNG_ARM_NEON_IMPLEMENTATION to the correct value (2 or 1). This macro |
|
4730 is undefined by default and the build type is selected in pngpriv.h. |
|
4731 |
|
4732 Version 1.6.7rc01 [November 2, 2013] |
|
4733 No changes. |
|
4734 |
|
4735 Version 1.6.7rc02 [November 7, 2013] |
|
4736 Fixed #include in filter_neon_intrinsics.c and ctype macros. The ctype char |
|
4737 checking macros take an unsigned char argument, not a signed char. |
|
4738 |
|
4739 Version 1.6.7 [November 14, 2013] |
|
4740 No changes. |
|
4741 |
|
4742 Version 1.6.8beta01 [November 24, 2013] |
|
4743 Moved prototype for png_handle_unknown() in pngpriv.h outside of |
|
4744 the #ifdef PNG_SET_UNKNOWN_CHUNKS_SUPPORTED/#endif block. |
|
4745 Added "-Wall" to CFLAGS in contrib/pngminim/*/makefile |
|
4746 Conditionally compile some unused functions reported by -Wall in |
|
4747 pngminim. |
|
4748 Fixed 'minimal' builds. Various obviously useful minimal configurations |
|
4749 don't build because of missing contrib/libtests test programs and |
|
4750 overly complex dependencies in scripts/pnglibconf.dfa. This change |
|
4751 adds contrib/conftest/*.dfa files that can be used in automatic build |
|
4752 scripts to ensure that these configurations continue to build. |
|
4753 Enabled WRITE_INVERT and WRITE_PACK in contrib/pngminim/encoder. |
|
4754 Fixed pngvalid 'fail' function declaration on the Intel C Compiler. |
|
4755 This reverts to the previous 'static' implementation and works round |
|
4756 the 'unused static function' warning by using PNG_UNUSED(). |
|
4757 |
|
4758 Version 1.6.8beta02 [November 30, 2013] |
|
4759 Removed or marked PNG_UNUSED some harmless "dead assignments" reported |
|
4760 by clang scan-build. |
|
4761 Changed tabs to 3 spaces in png_debug macros and changed '"%s"m' |
|
4762 to '"%s" m' to improve portability among compilers. |
|
4763 Changed png_free_default() to free() in pngtest.c |
|
4764 |
|
4765 Version 1.6.8rc01 [December 12, 2013] |
|
4766 Tidied up pngfix inits and fixed pngtest no-write builds. |
|
4767 |
|
4768 Version 1.6.8rc02 [December 14, 2013] |
|
4769 Handle zero-length PLTE chunk or NULL palette with png_error() |
|
4770 instead of png_chunk_report(), which by default issues a warning |
|
4771 rather than an error, leading to later reading from a NULL pointer |
|
4772 (png_ptr->palette) in png_do_expand_palette(). This is CVE-2013-6954 |
|
4773 and VU#650142. Libpng-1.6.1 through 1.6.7 are vulnerable. |
|
4774 Libpng-1.6.0 and earlier do not have this bug. |
|
4775 |
|
4776 Version 1.6.8 [December 19, 2013] |
|
4777 No changes. |
|
4778 |
|
4779 Version 1.6.9beta01 [December 26, 2013] |
|
4780 Bookkeeping: Moved functions around (no changes). Moved transform |
|
4781 function definitions before the place where they are called so that |
|
4782 they can be made static. Move the intrapixel functions and the |
|
4783 grayscale palette builder out of the png?tran.c files. The latter |
|
4784 isn't a transform function and is no longer used internally, and the |
|
4785 former MNG specific functions are better placed in pngread/pngwrite.c |
|
4786 Made transform implementation functions static. This makes the internal |
|
4787 functions called by png_do_{read|write}_transformations static. On an |
|
4788 x86-64 DLL build (Gentoo Linux) this reduces the size of the text |
|
4789 segment of the DLL by 1208 bytes, about 0.6%. It also simplifies |
|
4790 maintenance by removing the declarations from pngpriv.h and allowing |
|
4791 easier changes to the internal interfaces. |
|
4792 Rebuilt configure scripts with automake-1.14.1 and autoconf-2.69 |
|
4793 in the tar distributions. |
|
4794 |
|
4795 Version 1.6.9beta02 [January 1, 2014] |
|
4796 Added checks for libpng 1.5 to pngvalid.c. This supports the use of |
|
4797 this version of pngvalid in libpng 1.5 |
|
4798 Merged with pngvalid.c from libpng-1.7 changes to create a single |
|
4799 pngvalid.c |
|
4800 Removed #error macro from contrib/tools/pngfix.c (Thomas Klausner). |
|
4801 Merged pngrio.c, pngtrans.c, pngwio.c, and pngerror.c with libpng-1.7.0 |
|
4802 Merged libpng-1.7.0 changes to make no-interlace configurations work |
|
4803 with test programs. |
|
4804 Revised pngvalid.c to support libpng 1.5, which does not support the |
|
4805 PNG_MAXIMUM_INFLATE_WINDOW option, so #define it out when appropriate in |
|
4806 pngvalid.c |
|
4807 Allow unversioned links created on install to be disabled in configure. |
|
4808 In configure builds 'make install' changes/adds links like png.h |
|
4809 and libpng.a to point to the newly installed, versioned, files (e.g. |
|
4810 libpng17/png.h and libpng17.a). Three new configure options and some |
|
4811 rearrangement of Makefile.am allow creation of these links to be disabled. |
|
4812 |
|
4813 Version 1.6.9beta03 [January 10, 2014] |
|
4814 Removed potentially misleading warning from png_check_IHDR(). |
|
4815 |
|
4816 Version 1.6.9beta04 [January 20, 2014] |
|
4817 Updated scripts/makefile.* to use CPPFLAGS (Cosmin). |
|
4818 Added clang attribute support (Cosmin). |
|
4819 |
|
4820 Version 1.6.9rc01 [January 28, 2014] |
|
4821 No changes. |
|
4822 |
|
4823 Version 1.6.9rc02 [January 30, 2014] |
|
4824 Quiet an uninitialized memory warning from VC2013 in png_get_png(). |
|
4825 |
|
4826 Version 1.6.9 [February 6, 2014] |
|
4827 |
|
4828 Version 1.6.10beta01 [February 9, 2014] |
|
4829 Backported changes from libpng-1.7.0beta30 and beta31: |
|
4830 Fixed a large number of instances where PNGCBAPI was omitted from |
|
4831 function definitions. |
|
4832 Added pngimage test program for png_read_png() and png_write_png() |
|
4833 with two new test scripts. |
|
4834 Removed dependence on !PNG_READ_EXPAND_SUPPORTED for calling |
|
4835 png_set_packing() in png_read_png(). |
|
4836 Fixed combination of ~alpha with shift. On read invert alpha, processing |
|
4837 occurred after shift processing, which causes the final values to be |
|
4838 outside the range that should be produced by the shift. Reversing the |
|
4839 order on read makes the two transforms work together correctly and mirrors |
|
4840 the order used on write. |
|
4841 Do not read invalid sBIT chunks. Previously libpng only checked sBIT |
|
4842 values on write, so a malicious PNG writer could therefore cause |
|
4843 the read code to return an invalid sBIT chunk, which might lead to |
|
4844 application errors or crashes. Such chunks are now skipped (with |
|
4845 chunk_benign_error). |
|
4846 Make png_read_png() and png_write_png() prototypes in png.h depend |
|
4847 upon PNG_READ_SUPPORTED and PNG_WRITE_SUPPORTED. |
|
4848 Support builds with unsupported PNG_TRANSFORM_* values. All of the |
|
4849 PNG_TRANSFORM_* values are always defined in png.h and, because they |
|
4850 are used for both read and write in some cases, it is not reliable |
|
4851 to #if out ones that are totally unsupported. This change adds error |
|
4852 detection in png_read_image() and png_write_image() to do a |
|
4853 png_app_error() if the app requests something that cannot be done |
|
4854 and it adds corresponding code to pngimage.c to handle such options |
|
4855 by not attempting to test them. |
|
4856 |
|
4857 Version 1.6.10beta02 [February 23, 2014] |
|
4858 Moved redefines of png_error(), png_warning(), png_chunk_error(), |
|
4859 and png_chunk_warning() from pngpriv.h to png.h to make them visible |
|
4860 to libpng-calling applications. |
|
4861 Moved OS dependent code from arm/arm_init.c, to allow the included |
|
4862 implementation of the ARM NEON discovery function to be set at |
|
4863 build-time and provide sample implementations from the current code in the |
|
4864 contrib/arm-neon subdirectory. The __linux__ code has also been changed to |
|
4865 compile and link on Android by using /proc/cpuinfo, and the old linux code |
|
4866 is in contrib/arm-neon/linux-auxv.c. The new code avoids POSIX and Linux |
|
4867 dependencies apart from opening /proc/cpuinfo and is C90 compliant. |
|
4868 Check for info_ptr == NULL early in png_read_end() so we don't need to |
|
4869 run all the png_handle_*() and depend on them to return if info_ptr == NULL. |
|
4870 This improves the performance of png_read_end(png_ptr, NULL) and makes |
|
4871 it more robust against future programming errors. |
|
4872 Check for __has_extension before using it in pngconf.h, to |
|
4873 support older Clang versions (Jeremy Sequoia). |
|
4874 Treat CRC error handling with png_set_crc_action(), instead of with |
|
4875 png_set_benign_errors(), which has been the case since libpng-1.6.0beta18. |
|
4876 Use a user warning handler in contrib/gregbook/readpng2.c instead of default, |
|
4877 so warnings will be put on stderr even if libpng has CONSOLE_IO disabled. |
|
4878 Added png_ptr->process_mode = PNG_READ_IDAT_MODE in png_push_read_chunk |
|
4879 after recognizing the IDAT chunk, which avoids an infinite loop while |
|
4880 reading a datastream whose first IDAT chunk is of zero-length. |
|
4881 This fixes CERT VU#684412 and CVE-2014-0333. |
|
4882 Don't recognize known sRGB profiles as sRGB if they have been hacked, |
|
4883 but don't reject them and don't issue a copyright violation warning. |
|
4884 |
|
4885 Version 1.6.10beta03 [February 25, 2014] |
|
4886 Moved some documentation from png.h to libpng.3 and libpng-manual.txt |
|
4887 Minor editing of contrib/arm-neon/README and contrib/examples/*.c |
|
4888 |
|
4889 Version 1.6.10rc01 [February 27, 2014] |
|
4890 Fixed typos in the manual and in scripts/pnglibconf.dfa (CFLAGS -> CPPFLAGS |
|
4891 and PNG_USR_CONFIG -> PNG_USER_CONFIG). |
|
4892 |
|
4893 Version 1.6.10rc02 [February 28, 2014] |
|
4894 Removed unreachable return statement after png_chunk_error() |
|
4895 in pngrutil.c |
|
4896 |
|
4897 Version 1.6.10rc03 [March 4, 2014] |
|
4898 Un-deprecated png_data_freer(). |
|
4899 |
|
4900 Version 1.6.10 [March 6, 2014] |
|
4901 No changes. |
|
4902 |
|
4903 Version 1.6.11beta01 [March 17, 2014] |
|
4904 Use "if (value != 0)" instead of "if (value)" consistently. |
|
4905 Changed ZlibSrcDir from 1.2.5 to 1.2.8 in projects/vstudio. |
|
4906 Moved configuration information from the manual to the INSTALL file. |
|
4907 |
|
4908 Version 1.6.11beta02 [April 6, 2014] |
|
4909 Removed #if/#else/#endif from inside two pow() calls in pngvalid.c because |
|
4910 they were handled improperly by Portland Group's PGI-14.1 - PGI-14.3 |
|
4911 when using its "__builtin_pow()" function. |
|
4912 Silence 'unused parameter' build warnings (Cosmin Truta). |
|
4913 $(CP) is now used alongside $(RM_F). Also, use 'copy' instead of 'cp' |
|
4914 where applicable, and applied other minor makefile changes (Cosmin). |
|
4915 Don't warn about invalid dimensions exceeding user limits (Cosmin). |
|
4916 Allow an easy replacement of the default pre-built configuration |
|
4917 header with a custom header, via the make PNGLIBCONF_H_PREBUILT |
|
4918 macro (Cosmin). |
|
4919 |
|
4920 Version 1.6.11beta03 [April 6, 2014] |
|
4921 Fixed a typo in pngrutil.c, introduced in libpng-1.5.6, that interferes |
|
4922 with "blocky" expansion of sub-8-bit interlaced PNG files (Eric Huss). |
|
4923 Optionally use __builtin_bswap16() in png_do_swap(). |
|
4924 |
|
4925 Version 1.6.11beta04 [April 19, 2014] |
|
4926 Made progressive reading of interlaced images consistent with the |
|
4927 behavior of the sequential reader and consistent with the manual, by |
|
4928 moving some code out of the PNG_READ_INTERLACING_SUPPORTED blocks. The |
|
4929 row_callback now receives the proper pass number and unexpanded rows, when |
|
4930 png_combine_row() isn't built or used, and png_set_interlace_handling() |
|
4931 is not called. |
|
4932 Allow PNG_sRGB_PROFILE_CHECKING = (-1) to mean no sRGB profile checking. |
|
4933 |
|
4934 Version 1.6.11beta05 [April 26, 2014] |
|
4935 Do not reject ICC V2 profiles that lack padding (Kai-Uwe Behrmann). |
|
4936 Relocated closing bracket of the sRGB profile test loop to avoid getting |
|
4937 "Not recognizing known sRGB profile that has been edited" warning for |
|
4938 ICC V2 profiles that lack the MD5 signature in the profile header. |
|
4939 |
|
4940 Version 1.6.11beta06 [May 19, 2014] |
|
4941 Added PNG_SKIP_sRGB_CHECK_PROFILE choice for png_set_option(). |
|
4942 |
|
4943 Version 1.6.11rc01 [May 27, 2014] |
|
4944 No changes. |
|
4945 |
|
4946 Version 1.6.11rc02 [June 3, 2014] |
|
4947 Test ZLIB_VERNUM instead of PNG_ZLIB_VERNUM in contrib/tools/pngfix.c |
|
4948 |
|
4949 Version 1.6.11 [June 5, 2014] |
|
4950 No changes. |
|
4951 |
|
4952 Version 1.6.12rc01 [June 6, 2014] |
|
4953 Relocated new code from 1.6.11beta06 in png.c to a point after the |
|
4954 declarations (Max Stepin). |
|
4955 |
|
4956 Version 1.6.12rc02 [June 7, 2014] |
|
4957 Changed file permissions of contrib/tools/intgamma.sh, |
|
4958 test-driver, and compile from 0644 to 0755 (Cosmin). |
|
4959 |
|
4960 Version 1.6.12rc03 [June 8, 2014] |
|
4961 Ensure "__has_attribute()" macro exists before trying to use it with |
|
4962 old clang compilers (MacPorts Ticket #43939). |
|
4963 |
|
4964 Version 1.6.12 [June 12, 2014] |
|
4965 No changes. |
|
4966 |
|
4967 Version 1.6.13beta01 [July 4, 2014] |
|
4968 Quieted -Wsign-compare and -Wclobber compiler warnings in |
|
4969 contrib/pngminus/*.c |
|
4970 Added "(void) png_ptr;" where needed in contrib/gregbook to quiet |
|
4971 compiler complaints about unused pointers. |
|
4972 Split a long output string in contrib/gregbook/rpng2-x.c. |
|
4973 Added "PNG_SET_OPTION" requirement for sRGB chunk support to pnglibconf.dfa, |
|
4974 Needed for write-only support (John Bowler). |
|
4975 Changed "if defined(__ARM_NEON__)" to |
|
4976 "if (defined(__ARM_NEON__) || defined(__ARM_NEON))" (James Wu). |
|
4977 Fixed clang no-warning builds: png_digit was defined but never used. |
|
4978 |
|
4979 Version 1.6.13beta02 [July 21, 2014] |
|
4980 Fixed an incorrect separator ("/" should be "\") in scripts/makefile.vcwin32 |
|
4981 (bug report from Wolfgang S. Kechel). Bug was introduced in libpng-1.6.11. |
|
4982 Also fixed makefile.bc32, makefile.bor, makefile.msc, makefile.intel, and |
|
4983 makefile.tc3 similarly. |
|
4984 |
|
4985 Version 1.6.13beta03 [August 3, 2014] |
|
4986 Removed scripts/makefile.elf. It has not worked since libpng-1.5.0beta14 |
|
4987 due to elimination of the PNG_FUNCTION_EXPORT and PNG_DATA_EXPORT |
|
4988 definitions from pngconf.h. |
|
4989 Ensure that CMakeLists.txt makes the target "lib" directory before making |
|
4990 symbolic link into it (SourceForge bug report #226 by Rolf Timmermans). |
|
4991 |
|
4992 Version 1.6.13beta04 [August 8, 2014] |
|
4993 Added opinion that the ECCN (Export Control Classification Number) for |
|
4994 libpng is EAR99 to the README file. |
|
4995 Eliminated use of "$<" in makefile explicit rules, when copying |
|
4996 $PNGLIBCONF_H_PREBUILT. This does not work on some versions of make; |
|
4997 bug introduced in libpng version 1.6.11. |
|
4998 |
|
4999 Version 1.6.13rc01 [August 14, 2014] |
|
5000 Made "ccopts" agree with "CFLAGS" in scripts/makefile.hp* and makefile.*sunu |
|
5001 |
|
5002 Version 1.6.13 [August 21, 2014] |
|
5003 No changes. |
|
5004 |
|
5005 Version 1.6.14beta01 [September 14, 2014] |
|
5006 Guard usage of png_ptr->options with #ifdef PNG_SET_OPTION_SUPPORTED. |
|
5007 Do not build contrib/tools/pngfix.c when PNG_SETJMP_NOT_SUPPORTED, |
|
5008 to allow "make" to complete without setjmp support (bug report by |
|
5009 Claudio Fontana) |
|
5010 Add "#include <setjmp.h>" to contrib/tools/pngfix.c (John Bowler) |
|
5011 |
|
5012 Version 1.6.14beta02 [September 18, 2014] |
|
5013 Use nanosleep() instead of usleep() in contrib/gregbook/rpng2-x.c |
|
5014 because usleep() is deprecated. |
|
5015 Define usleep() in contrib/gregbook/rpng2-x.c if not already defined |
|
5016 in unistd.h and nanosleep() is not available; fixes error introduced |
|
5017 in libpng-1.6.13. |
|
5018 Disable floating point exception handling in pngvalid.c when |
|
5019 PNG_FLOATING_ARITHMETIC is not supported (bug report by "zootus |
|
5020 at users.sourceforge.net"). |
|
5021 |
|
5022 Version 1.6.14beta03 [September 19, 2014] |
|
5023 Define FE_DIVBYZERO, FE_INVALID, and FE_OVERFLOW in pngvalid.c if not |
|
5024 already defined. Revert floating point exception handling in pngvalid.c |
|
5025 to version 1.6.14beta01 behavior. |
|
5026 |
|
5027 Version 1.6.14beta04 [September 27, 2014] |
|
5028 Fixed incorrect handling of the iTXt compression flag in pngrutil.c |
|
5029 (bug report by Shunsaku Hirata). Bug was introduced in libpng-1.6.0. |
|
5030 |
|
5031 Version 1.6.14beta05 [October 1, 2014] |
|
5032 Added "option READ_iCCP enables READ_COMPRESSED_TEXT" to pnglibconf.dfa |
|
5033 |
|
5034 Version 1.6.14beta06 [October 5, 2014] |
|
5035 Removed unused "text_len" parameter from private function png_write_zTXt(). |
|
5036 Conditionally compile some code in png_deflate_claim(), when |
|
5037 PNG_WARNINGS_SUPPORTED and PNG_ERROR_TEXT_SUPPORTED are disabled. |
|
5038 Replaced repeated code in pngpread.c with PNG_PUSH_SAVE_BUFFER_IF_FULL. |
|
5039 Added "chunk iTXt enables TEXT" and "chunk zTXt enables TEXT" |
|
5040 to pnglibconf.dfa. |
|
5041 Removed "option READ_COMPRESSED_TEXT enables READ_TEXT" from pnglibconf.dfa, |
|
5042 to make it possible to configure a libpng that supports iCCP but not TEXT. |
|
5043 |
|
5044 Version 1.6.14beta07 [October 7, 2014] |
|
5045 Removed "option WRITE_COMPRESSED_TEXT enables WRITE_TEXT" from pnglibconf.dfa |
|
5046 Only mark text chunks as written after successfully writing them. |
|
5047 |
|
5048 Version 1.6.14rc01 [October 15, 2014] |
|
5049 Fixed some typos in comments. |
|
5050 |
|
5051 Version 1.6.14rc02 [October 17, 2014] |
|
5052 Changed png_convert_to_rfc_1123() to png_convert_to_rfc_1123_buffer() |
|
5053 in the manual, to reflect the change made in libpng-1.6.0. |
|
5054 Updated README file to explain that direct access to the png_struct |
|
5055 and info_struct members has not been permitted since libpng-1.5.0. |
|
5056 |
|
5057 Version 1.6.14 [October 23, 2014] |
|
5058 No changes. |
|
5059 |
|
5060 Version 1.6.15beta01 [October 29, 2014] |
|
5061 Changed "if (!x)" to "if (x == 0)" and "if (x)" to "if (x != 0)" |
|
5062 Simplified png_free_data(). |
|
5063 Added missing "ptr = NULL" after some instances of png_free(). |
|
5064 |
|
5065 Version 1.6.15beta02 [November 1, 2014] |
|
5066 Changed remaining "if (!x)" to "if (x == 0)" and "if (x)" to "if (x != 0)" |
|
5067 |
|
5068 Version 1.6.15beta03 [November 3, 2014] |
|
5069 Added PNG_USE_ARM_NEON configuration flag (Marcin Juszkiewicz). |
|
5070 |
|
5071 Version 1.6.15beta04 [November 4, 2014] |
|
5072 Removed new PNG_USE_ARM_NEON configuration flag and made a one-line |
|
5073 revision to configure.ac to support ARM on aarch64 instead (John Bowler). |
|
5074 |
|
5075 Version 1.6.15beta05 [November 5, 2014] |
|
5076 Use png_get_libpng_ver(NULL) instead of PNG_LIBPNG_VER_STRING in |
|
5077 example.c, pngtest.c, and applications in the contrib directory. |
|
5078 Avoid out-of-bounds memory access in png_user_version_check(). |
|
5079 Simplified and future-proofed png_user_version_check(). |
|
5080 Fixed GCC unsigned int->float warnings. Various versions of GCC |
|
5081 seem to generate warnings when an unsigned value is implicitly |
|
5082 converted to double. This is probably a GCC bug but this change |
|
5083 avoids the issue by explicitly converting to (int) where safe. |
|
5084 Free all allocated memory in pngimage. The file buffer cache was left |
|
5085 allocated at the end of the program, harmless but it causes memory |
|
5086 leak reports from clang. |
|
5087 Fixed array size calculations to avoid warnings. At various points |
|
5088 in the code the number of elements in an array is calculated using |
|
5089 sizeof. This generates a compile time constant of type (size_t) which |
|
5090 is then typically assigned to an (unsigned int) or (int). Some versions |
|
5091 of GCC on 64-bit systems warn about the apparent narrowing, even though |
|
5092 the same compiler does apparently generate the correct, in-range, |
|
5093 numeric constant. This adds appropriate, safe, casts to make the |
|
5094 warnings go away. |
|
5095 |
|
5096 Version 1.6.15beta06 [November 6, 2014] |
|
5097 Reverted use png_get_libpng_ver(NULL) instead of PNG_LIBPNG_VER_STRING |
|
5098 in the manual, example.c, pngtest.c, and applications in the contrib |
|
5099 directory. It was incorrect advice. |
|
5100 |
|
5101 Version 1.6.15beta07 [November 7, 2014] |
|
5102 Removed #ifdef PNG_16BIT_SUPPORTED/#endif around png_product2(); it is |
|
5103 needed by png_reciprocal2(). |
|
5104 Added #ifdef PNG_16BIT_SUPPORTED/#endif around png_log16bit() and |
|
5105 png_do_swap(). |
|
5106 Changed all "#endif /* PNG_FEATURE_SUPPORTED */" to "#endif /* FEATURE */" |
|
5107 |
|
5108 Version 1.6.15beta08 [November 8, 2014] |
|
5109 More housecleaning in *.h |
|
5110 |
|
5111 Version 1.6.15rc01 [November 13, 2014] |
|
5112 |
|
5113 Version 1.6.15rc02 [November 14, 2014] |
|
5114 The macros passed in the command line to Borland make were ignored if |
|
5115 similarly-named macros were already defined in makefiles. This behavior |
|
5116 is different from POSIX make and other make programs. Surround the |
|
5117 macro definitions with ifndef guards (Cosmin). |
|
5118 |
|
5119 Version 1.6.15rc03 [November 16, 2014] |
|
5120 Added "-D_CRT_SECURE_NO_WARNINGS" to CFLAGS in scripts/makefile.vcwin32. |
|
5121 Removed the obsolete $ARCH variable from scripts/makefile.darwin. |
|
5122 |
|
5123 Version 1.6.15 [November 20, 2014] |
|
5124 No changes. |
|
5125 |
|
5126 Version 1.6.16beta01 [December 14, 2014] |
|
5127 Added ".align 2" to arm/filter_neon.S to support old GAS assemblers that |
|
5128 don't do alignment correctly. |
|
5129 Revised Makefile.am and scripts/symbols.dfn to work with MinGW/MSYS |
|
5130 (Bob Friesenhahn). |
|
5131 |
|
5132 Version 1.6.16beta02 [December 15, 2014] |
|
5133 Revised Makefile.am and scripts/*.dfn again to work with MinGW/MSYS; |
|
5134 renamed scripts/*.dfn to scripts/*.c (John Bowler). |
|
5135 |
|
5136 Version 1.6.16beta03 [December 21, 2014] |
|
5137 Quiet a "comparison always true" warning in pngstest.c (John Bowler). |
|
5138 |
|
5139 Version 1.6.16rc01 [December 21, 2014] |
|
5140 Restored a test on width that was removed from png.c at libpng-1.6.9 |
|
5141 (Bug report by Alex Eubanks). |
|
5142 |
|
5143 Version 1.6.16rc02 [December 21, 2014] |
|
5144 Undid the update to pngrutil.c in 1.6.16rc01. |
|
5145 |
|
5146 Version 1.6.16rc03 [December 21, 2014] |
|
5147 Fixed an overflow in png_combine_row with very wide interlaced images. |
|
5148 |
|
5149 Version 1.6.16 [December 22, 2014] |
|
5150 No changes. |
3535 |
5151 |
3536 Send comments/corrections/commendations to png-mng-implement at lists.sf.net |
5152 Send comments/corrections/commendations to png-mng-implement at lists.sf.net |
3537 (subscription required; visit |
5153 (subscription required; visit |
3538 https://lists.sourceforge.net/lists/listinfo/png-mng-implement |
5154 https://lists.sourceforge.net/lists/listinfo/png-mng-implement |
3539 to subscribe) |
5155 to subscribe) |
3540 or to glennrp at users.sourceforge.net |
5156 or to glennrp at users.sourceforge.net |
3541 |
5157 |
3542 Glenn R-P |
5158 Glenn R-P |
3543 */ } |
|
3544 #endif |
|