@@ -204,7 +204,7 @@ Version 0.97 [January, 1998]
204204 Added simple sRGB support (Glenn R-P)
205205 Easier conditional compiling, e.g.,
206206 define PNG_READ/WRITE_NOT_FULLY_SUPPORTED;
207- all configurable options can be selected from command- line instead
207+ all configurable options can be selected from command line instead
208208 of having to edit pngconf.h (Glenn R-P)
209209 Fixed memory leak in pngwrite.c (free info_ptr->text) (Glenn R-P)
210210 Added more conditions for png_do_background, to avoid changing
@@ -942,7 +942,7 @@ Version 1.0.8 [July 24, 2000]
942942Version 1.0.9beta1 [November 10, 2000]
943943 Fixed typo in scripts/makefile.hpux
944944 Updated makevms.com in scripts and contrib/* and contrib/* (Martin Zinser)
945- Fixed seqence -point bug in contrib/pngminus/png2pnm (Martin Zinser)
945+ Fixed sequence -point bug in contrib/pngminus/png2pnm (Martin Zinser)
946946 Changed "cdrom.com" in documentation to "libpng.org"
947947 Revised pnggccrd.c to get it all working, and updated makefile.gcmmx (Greg).
948948 Changed type of "params" from voidp to png_voidp in png_read|write_png().
@@ -2295,7 +2295,7 @@ Version 1.4.0beta58 [May 14, 2009]
22952295 Clarified usage of sig_bit versus sig_bit_p in example.c (Vincent Torri)
22962296
22972297Version 1.4.0beta59 [May 15, 2009]
2298- Reformated sources in libpng style (3-space indentation, comment format)
2298+ Reformatted sources in libpng style (3-space indentation, comment format)
22992299 Fixed typo in libpng docs (PNG_FILTER_AVE should be PNG_FILTER_AVG)
23002300 Added sections about the git repository and our coding style to the
23012301 documentation
@@ -2661,7 +2661,7 @@ Version 1.4.1beta06 [January 28, 2010]
26612661
26622662Version 1.4.1beta07 [February 6, 2010]
26632663 Folded some long lines in the source files.
2664- Added defineable PNG_USER_CHUNK_CACHE_MAX, PNG_USER_CHUNK_MALLOC_MAX,
2664+ Added definable PNG_USER_CHUNK_CACHE_MAX, PNG_USER_CHUNK_MALLOC_MAX,
26652665 and a PNG_USER_LIMITS_SUPPORTED flag.
26662666 Eliminated use of png_ptr->irowbytes and reused the slot in png_ptr as
26672667 png_ptr->png_user_chunk_malloc_max.
@@ -3919,7 +3919,7 @@ Version 1.6.0beta08 [February 1, 2012]
39193919 version checking to configure.ac
39203920 Improved pngstest speed by not doing redundant tests and add const to
39213921 the background parameter of png_image_finish_read. The --background
3922- option is now done automagically only when required, so that commandline
3922+ option is now done automagically only when required, so that command-line
39233923 option no longer exists.
39243924 Cleaned up pngpriv.h to consistently declare all functions and data.
39253925 Also eliminated PNG_CONST_DATA, which is apparently not needed but we
@@ -4052,7 +4052,7 @@ Version 1.6.0beta16 [March 6, 2012]
40524052 (in fact this is harmless, but the PNG data produced may be sub-optimal).
40534053
40544054Version 1.6.0beta17 [March 10, 2012]
4055- Fixed PNG_LIBPNG_BUILD_BASE_TYPE definition.
4055+ Fixed PNG_LIBPNG_BUILD_BASE_TYPE definition.
40564056 Reject all iCCP chunks after the first, even if the first one is invalid.
40574057 Deflate/inflate was reworked to move common zlib calls into single
40584058 functions [rw]util.c. A new shared keyword check routine was also added
@@ -4962,7 +4962,7 @@ Version 1.6.13beta01 [July 4, 2014]
49624962 Changed "if defined(__ARM_NEON__)" to
49634963 "if (defined(__ARM_NEON__) || defined(__ARM_NEON))" (James Wu).
49644964 Fixed clang no-warning builds: png_digit was defined but never used.
4965-
4965+
49664966Version 1.6.13beta02 [July 21, 2014]
49674967 Fixed an incorrect separator ("/" should be "\") in scripts/makefile.vcwin32
49684968 (bug report from Wolfgang S. Kechel). Bug was introduced in libpng-1.6.11.
@@ -5453,7 +5453,7 @@ Version 1.6.21beta01 [December 11, 2015]
54535453Version 1.6.21beta02 [December 14, 2015]
54545454 Moved png_check_keyword() from pngwutil.c to pngset.c
54555455 Removed LE/BE dependencies in pngvalid, to 'fix' the current problem
5456- in the BigEndian tests by not testing it, making the BE code the same
5456+ in the BigEndian tests by not testing it, making the BE code the same
54575457 as the LE version.
54585458 Fixes to pngvalid for various reduced build configurations (eliminate unused
54595459 statics) and a fix for the case in rgb_to_gray when the digitize option
@@ -5517,7 +5517,7 @@ Version 1.6.22beta03 [March 9, 2016]
55175517 Added a common-law trademark notice and export control information
55185518 to the LICENSE file, png.h, and the man page.
55195519 Restored "& 0xff" in png_save_uint_16() and png_save_uint_32() that
5520- were accidentally removed from libpng-1.6.17.
5520+ were accidentally removed from libpng-1.6.17.
55215521 Changed PNG_INFO_cHNK and PNG_FREE_cHNK from 0xnnnn to 0xnnnnU in png.h
55225522 (Robert C. Seacord).
55235523 Removed dubious "#if INT_MAX" test from png.h that was added to
@@ -5927,7 +5927,7 @@ Version 1.6.32beta03 [August 2, 2017]
59275927 (Bug report from the OSS-fuzz project).
59285928
59295929Version 1.6.32beta04 [August 2, 2017]
5930- Replaced local eXIf_buf with info_ptr-eXIf_buf in png_handle_eXIf().
5930+ Replaced local eXIf_buf with info_ptr-> eXIf_buf in png_handle_eXIf().
59315931 Update libpng.3 and libpng-manual.txt about eXIf functions.
59325932
59335933Version 1.6.32beta05 [August 2, 2017]
@@ -5950,7 +5950,7 @@ Version 1.6.32beta09 [August 3, 2017]
59505950 Require cmake-2.8.8 in CMakeLists.txt. Revised symlink creation,
59515951 no longer using deprecated cmake LOCATION feature (Clifford Yapp).
59525952 Fixed five-byte error in the calculation of IDAT maximum possible size.
5953-
5953+
59545954Version 1.6.32beta10 [August 5, 2017]
59555955 Moved chunk-length check into a png_check_chunk_length() private
59565956 function (Suggested by Max Stepin).
@@ -6121,6 +6121,189 @@ Version 1.6.39 [November 20, 2022]
61216121 removed the obsolete makefile.cegcc.
61226122 Cleaned up the code and updated the internal documentation.
61236123
6124+ Version 1.6.40 [June 21, 2023]
6125+ Fixed the eXIf chunk multiplicity checks.
6126+ Fixed a memory leak in pCAL processing.
6127+ Corrected the validity report about tRNS inside png_get_valid().
6128+ Fixed various build issues on *BSD, Mac and Windows.
6129+ Updated the configurations and the scripts for continuous integration.
6130+ Cleaned up the code, the build scripts, and the documentation.
6131+
6132+ Version 1.6.41 [January 24, 2024]
6133+ Added SIMD-optimized code for the LoongArch LSX hardware.
6134+ (Contributed by GuXiWei, JinBo and ZhangLixia)
6135+ Fixed the run-time discovery of MIPS MSA hardware.
6136+ (Contributed by Sui Jingfeng)
6137+ Fixed an off-by-one error in the function png_do_check_palette_indexes(),
6138+ which failed to recognize errors that might have existed in the first
6139+ column of a broken palette-encoded image. This was a benign regression
6140+ accidentally introduced in libpng-1.6.33. No pixel was harmed.
6141+ (Contributed by Adam Richter; reviewed by John Bowler)
6142+ Fixed, improved and modernized the contrib/pngminus programs, i.e.,
6143+ png2pnm.c and pnm2png.c
6144+ Removed old and peculiar portability hacks that were meant to silence
6145+ warnings issued by gcc version 7.1 alone.
6146+ (Contributed by John Bowler)
6147+ Fixed and modernized the CMake file, and raised the minimum required
6148+ CMake version from 3.1 to 3.6.
6149+ (Contributed by Clinton Ingram, Timothy Lyanguzov, Tyler Kropp, et al.)
6150+ Allowed the configure script to disable the building of auxiliary tools
6151+ and tests, thus catching up with the CMake file.
6152+ (Contributed by Carlo Bramini)
6153+ Fixed a build issue on Mac.
6154+ (Contributed by Zixu Wang)
6155+ Moved the Autoconf macro files to scripts/autoconf.
6156+ Moved the CMake files (except for the main CMakeLists.txt) to
6157+ scripts/cmake and moved the list of their contributing authors to
6158+ scripts/cmake/AUTHORS.md
6159+ Updated the CI configurations and scripts.
6160+ Relicensed the CI scripts to the MIT License.
6161+ Improved the test coverage.
6162+ (Contributed by John Bowler)
6163+
6164+ Version 1.6.42 [January 29, 2024]
6165+ Fixed the implementation of the macro function png_check_sig().
6166+ This was an API regression, introduced in libpng-1.6.41.
6167+ (Reported by Matthieu Darbois)
6168+ Fixed and updated the libpng manual.
6169+
6170+ Version 1.6.43 [February 23, 2024]
6171+ Fixed the row width check in png_check_IHDR().
6172+ This corrected a bug that was specific to the 16-bit platforms,
6173+ and removed a spurious compiler warning from the 64-bit builds.
6174+ (Reported by Jacek Caban; fixed by John Bowler)
6175+ Added eXIf chunk support to the push-mode reader in pngpread.c.
6176+ (Contributed by Chris Blume)
6177+ Added contrib/pngexif for the benefit of the users who would like
6178+ to inspect the content of eXIf chunks.
6179+ Added contrib/conftest/basic.dfa, a basic build-time configuration.
6180+ (Contributed by John Bowler)
6181+ Fixed a preprocessor condition in pngread.c that broke build-time
6182+ configurations like contrib/conftest/pngcp.dfa.
6183+ (Contributed by John Bowler)
6184+ Added CMake build support for LoongArch LSX.
6185+ (Contributed by GuXiWei)
6186+ Fixed a CMake build error that occurred under a peculiar state of the
6187+ dependency tree. This was a regression introduced in libpng-1.6.41.
6188+ (Contributed by Dan Rosser)
6189+ Marked the installed libpng headers as system headers in CMake.
6190+ (Contributed by Benjamin Buch)
6191+ Updated the build support for RISCOS.
6192+ (Contributed by Cameron Cawley)
6193+ Updated the makefiles to allow cross-platform builds to initialize
6194+ conventional make variables like AR and ARFLAGS.
6195+ Added various improvements to the CI scripts in areas like version
6196+ consistency verification and text linting.
6197+ Added version consistency verification to pngtest.c also.
6198+
6199+ Version 1.6.44 [September 12, 2024]
6200+ Hardened calculations in chroma handling to prevent overflows, and
6201+ relaxed a constraint in cHRM validation to accomodate the standard
6202+ ACES AP1 set of color primaries.
6203+ (Contributed by John Bowler)
6204+ Removed the ASM implementation of ARM Neon optimizations and updated
6205+ the build accordingly. Only the remaining C implementation shall be
6206+ used from now on, thus ensuring the support of the PAC/BTI security
6207+ features on ARM64.
6208+ (Contributed by Ross Burton and John Bowler)
6209+ Fixed the pickup of the PNG_HARDWARE_OPTIMIZATIONS option in the
6210+ CMake build on FreeBSD/amd64. This is an important performance fix
6211+ on this platform.
6212+ Applied various fixes and improvements to the CMake build.
6213+ (Contributed by Eric Riff, Benjamin Buch and Erik Scholz)
6214+ Added fuzzing targets for the simplified read API.
6215+ (Contributed by Mikhail Khachayants)
6216+ Fixed a build error involving pngtest.c under a custom config.
6217+ This was a regression introduced in a code cleanup in libpng-1.6.43.
6218+ (Contributed by Ben Wagner)
6219+ Fixed and improved the config files for AppVeyor CI and Travis CI.
6220+
6221+ Version 1.6.45 [January 7, 2025]
6222+ Added support for the cICP chunk.
6223+ (Contributed by Lucas Chollet and John Bowler)
6224+ Adjusted and improved various checks in colorspace calculations.
6225+ (Contributed by John Bowler)
6226+ Rearranged the write order of colorspace chunks for better conformance
6227+ with the PNG v3 draft specification.
6228+ (Contributed by John Bowler)
6229+ Raised the minimum required CMake version from 3.6 to 3.14.
6230+ Forked off a development branch for libpng version 1.8.
6231+
6232+ Version 1.6.46 [January 23, 2025]
6233+ Added support for the mDCV and cLLI chunks.
6234+ (Contributed by John Bowler)
6235+ Fixed a build issue affecting C89 compilers.
6236+ This was a regression introduced in libpng-1.6.45.
6237+ (Contributed by John Bowler)
6238+ Added makefile.c89, specifically for testing C89 compilers.
6239+ Cleaned up contrib/pngminus: corrected an old typo, removed an old
6240+ workaround, and updated the CMake file.
6241+
6242+ Version 1.6.47 [February 18, 2025]
6243+ Modified the behaviour of colorspace chunks in order to adhere
6244+ to the new precedence rules formulated in the latest draft of
6245+ the PNG Specification.
6246+ (Contributed by John Bowler)
6247+ Fixed a latent bug in `png_write_iCCP`.
6248+ This would have been a read-beyond-end-of-malloc vulnerability,
6249+ introduced early in the libpng-1.6.0 development, yet (fortunately!)
6250+ it was inaccessible before the above-mentioned modification of the
6251+ colorspace precedence rules, due to pre-existing colorspace checks.
6252+ (Reported by Bob Friesenhahn; fixed by John Bowler)
6253+
6254+ Version 1.6.48 [April 30, 2025]
6255+ Fixed the floating-point version of the mDCv setter `png_set_mDCv`.
6256+ (Reported by Mohit Bakshi; fixed by John Bowler)
6257+ Added #error directives to discourage the inclusion of private
6258+ libpng implementation header files in PNG-supporting applications.
6259+ Added the CMake build option `PNG_LIBCONF_HEADER`, to be used as an
6260+ alternative to `DFA_XTRA`.
6261+ Removed the Travis CI configuration files, with heartfelt thanks for
6262+ their generous support of our project over the past five years!
6263+
6264+ Version 1.6.49 [June 12, 2025]
6265+ Added SIMD-optimized code for the RISC-V Vector Extension (RVV).
6266+ (Contributed by Manfred Schlaegl, Dragos Tiselice and Filip Wasil)
6267+ Added various fixes and improvements to the build scripts and to
6268+ the sample code.
6269+
6270+ Version 1.6.50 [July 1, 2025]
6271+ Improved the detection of the RVV Extension on the RISC-V platform.
6272+ (Contributed by Filip Wasil)
6273+ Replaced inline ASM with C intrinsics in the RVV code.
6274+ (Contributed by Filip Wasil)
6275+ Fixed a decoder defect in which unknown chunks trailing IDAT, set
6276+ to go through the unknown chunk handler, incorrectly triggered
6277+ out-of-place IEND errors.
6278+ (Contributed by John Bowler)
6279+ Fixed the CMake file for cross-platform builds that require `libm`.
6280+
6281+ Version 1.6.51 [November 21, 2025]
6282+ Fixed CVE-2025-64505 (moderate severity):
6283+ Heap buffer overflow in `png_do_quantize` via malformed palette index.
6284+ (Reported by Samsung; analyzed by Fabio Gritti.)
6285+ Fixed CVE-2025-64506 (moderate severity):
6286+ Heap buffer over-read in `png_write_image_8bit` with 8-bit input and
6287+ `convert_to_8bit` enabled.
6288+ (Reported by Samsung and <weijinjinnihao@users.noreply.github.com>;
6289+ analyzed by Fabio Gritti.)
6290+ Fixed CVE-2025-64720 (high severity):
6291+ Buffer overflow in `png_image_read_composite` via incorrect palette
6292+ premultiplication.
6293+ (Reported by Samsung; analyzed by John Bowler.)
6294+ Fixed CVE-2025-65018 (high severity):
6295+ Heap buffer overflow in `png_combine_row` triggered via
6296+ `png_image_finish_read`.
6297+ (Reported by <yosiimich@users.noreply.github.com>.)
6298+ Fixed a memory leak in `png_set_quantize`.
6299+ (Reported by Samsung; analyzed by Fabio Gritti.)
6300+ Removed the experimental and incomplete ERROR_NUMBERS code.
6301+ (Contributed by Tobias Stoeckmann.)
6302+ Improved the RISC-V vector extension support; required RVV 1.0 or newer.
6303+ (Contributed by Filip Wasil.)
6304+ Added GitHub Actions workflows for automated testing.
6305+ Performed various refactorings and cleanups.
6306+
61246307Send comments/corrections/commendations to png-mng-implement at lists.sf.net.
61256308Subscription is required; visit
61266309https://lists.sourceforge.net/lists/listinfo/png-mng-implement
0 commit comments