1
0
mirror of https://github.com/glennrp/libpng.git synced 2026-10-22 20:29:09 +03:00

Release libpng version 1.6.59

This commit is contained in:
Cosmin Truta
2026-09-28 23:58:10 +03:00
parent 65152c0657
commit cd952f49f9
16 changed files with 70 additions and 58 deletions

View File

@@ -1,13 +1,5 @@
libpng 1.6.59.git
=================
This is a development version, not intended to be a public release.
It will be replaced by a public release, or by another development
version, at a later time.
libpng 1.6.58 - April 15, 2026
==============================
libpng 1.6.59 - September 28, 2026
==================================
This is a public release of libpng, intended for use in production code.
@@ -17,10 +9,10 @@ Files available for download
Source files:
* libpng-1.6.58.tar.xz (LZMA-compressed, recommended)
* libpng-1.6.58.tar.gz (deflate-compressed)
* lpng1658.7z (LZMA-compressed)
* lpng1658.zip (deflate-compressed)
* libpng-1.6.59.tar.xz (LZMA-compressed, recommended)
* libpng-1.6.59.tar.gz (deflate-compressed)
* lpng1659.7z (LZMA-compressed)
* lpng1659.zip (deflate-compressed)
Other information:
@@ -30,13 +22,21 @@ Other information:
* TRADEMARK.md
Changes from version 1.6.57 to version 1.6.58
Changes from version 1.6.58 to version 1.6.59
---------------------------------------------
* Fixed a regression introduced in version 1.6.56 that caused `png_get_PLTE`
to return stale palette data after applying gamma and background transforms
in-place.
(Reported by ralfjunker <ralfjunker@users.noreply.github.com>.)
* Fixed CVE-2026-46675 (medium severity):
Use-after-free of zlib input in `png_read_end` after incomplete zTXt, iTXt
or iCCP decompression.
(Reported independently by Ze Sheng and
<JasonHonKL@users.noreply.github.com>.)
* Fixed a regression introduced in version 1.6.47 that caused libpng to reject
hIST chunks in their correct position, after PLTE.
(Contributed by Yuki Sekiguchi.)
* Prevented a double free of `png_struct` members after an allocation failure.
(Contributed by Anthony Hurtado.)
* Applied fixes and updates to the CMake build.
* Adopted the REUSE Specification for licensing the CI files.
Send comments/corrections/commendations to png-mng-implement at lists.sf.net.

14
CHANGES
View File

@@ -6385,7 +6385,19 @@ Version 1.6.58 [April 15, 2026]
in-place.
(Reported by ralfjunker <ralfjunker@users.noreply.github.com>.)
Version 1.6.59 [TODO]
Version 1.6.59 [September 28, 2026]
Fixed CVE-2026-46675 (medium severity):
Use-after-free of zlib input in `png_read_end` after incomplete zTXt, iTXt
or iCCP decompression.
(Reported independently by Ze Sheng and
<JasonHonKL@users.noreply.github.com>.)
Fixed a regression introduced in version 1.6.47 that caused libpng to reject
hIST chunks in their correct position, after PLTE.
(Contributed by Yuki Sekiguchi.)
Prevented a double free of `png_struct` members after an allocation failure.
(Contributed by Anthony Hurtado.)
Applied fixes and updates to the CMake build.
Adopted the REUSE Specification for licensing the CI files.
Send comments/corrections/commendations to png-mng-implement at lists.sf.net.
Subscription is required; visit

View File

@@ -19,8 +19,8 @@ cmake_minimum_required(VERSION 3.14...4.4)
set(PNGLIB_MAJOR 1)
set(PNGLIB_MINOR 6)
set(PNGLIB_REVISION 59)
#set(PNGLIB_SUBREVISION 0)
set(PNGLIB_SUBREVISION "git")
set(PNGLIB_SUBREVISION 0)
#set(PNGLIB_SUBREVISION "git")
set(PNGLIB_VERSION ${PNGLIB_MAJOR}.${PNGLIB_MINOR}.${PNGLIB_REVISION})
set(PNGLIB_ABI_VERSION ${PNGLIB_MAJOR}${PNGLIB_MINOR})
set(PNGLIB_SHARED_VERSION ${PNGLIB_ABI_VERSION}.${PNGLIB_REVISION}.${PNGLIB_SUBREVISION})

4
README
View File

@@ -1,5 +1,5 @@
README for libpng version 1.6.59.git
====================================
README for libpng version 1.6.59
================================
See the note about version numbers near the top of `png.h`.
See `INSTALL` for instructions on how to install libpng.

22
configure vendored
View File

@@ -1,6 +1,6 @@
#! /bin/sh
# Guess values for system-dependent variables and create Makefiles.
# Generated by GNU Autoconf 2.73 for libpng 1.6.59.git.
# Generated by GNU Autoconf 2.73 for libpng 1.6.59.
#
# Report bugs to <png-mng-implement@lists.sourceforge.net>.
#
@@ -598,8 +598,8 @@ MAKEFLAGS=
# Identity of this package.
PACKAGE_NAME='libpng'
PACKAGE_TARNAME='libpng'
PACKAGE_VERSION='1.6.59.git'
PACKAGE_STRING='libpng 1.6.59.git'
PACKAGE_VERSION='1.6.59'
PACKAGE_STRING='libpng 1.6.59'
PACKAGE_BUGREPORT='png-mng-implement@lists.sourceforge.net'
PACKAGE_URL=''
@@ -1410,7 +1410,7 @@ if test "$ac_init_help" = "long"; then
# Omit some internal or obsolete options to make the list less imposing.
# This message is too long to be a string in the A/UX 3.1 sh.
cat <<_ACEOF
'configure' configures libpng 1.6.59.git to adapt to many kinds of systems.
'configure' configures libpng 1.6.59 to adapt to many kinds of systems.
Usage: $0 [OPTION]... [VAR=VALUE]...
@@ -1481,7 +1481,7 @@ fi
if test -n "$ac_init_help"; then
case $ac_init_help in
short | recursive ) echo "Configuration of libpng 1.6.59.git:";;
short | recursive ) echo "Configuration of libpng 1.6.59:";;
esac
cat <<\_ACEOF
@@ -1688,7 +1688,7 @@ fi
test -n "$ac_init_help" && exit $ac_status
if $ac_init_version; then
cat <<\_ACEOF
libpng configure 1.6.59.git
libpng configure 1.6.59
generated by GNU Autoconf 2.73
Copyright (C) 2026 Free Software Foundation, Inc.
@@ -1951,7 +1951,7 @@ cat >config.log <<_ACEOF
This file contains any messages produced by compilers while
running configure, to aid debugging if configure makes a mistake.
It was created by libpng $as_me 1.6.59.git, which was
It was created by libpng $as_me 1.6.59, which was
generated by GNU Autoconf 2.73. Invocation command line was
$ $0$ac_configure_args_raw
@@ -3571,7 +3571,7 @@ fi
# Define the identity of the package.
PACKAGE='libpng'
VERSION='1.6.59.git'
VERSION='1.6.59'
printf '%s\n' "#define PACKAGE \"$PACKAGE\"" >>confdefs.h
@@ -3798,7 +3798,7 @@ fi
PNGLIB_VERSION=1.6.59.git
PNGLIB_VERSION=1.6.59
PNGLIB_MAJOR=1
PNGLIB_MINOR=6
PNGLIB_RELEASE=59
@@ -16698,7 +16698,7 @@ cat >>"$CONFIG_STATUS" <<\_ACEOF || ac_write_fail=1
# report actual input values of CONFIG_FILES etc. instead of their
# values after options handling.
ac_log="
This file was extended by libpng $as_me 1.6.59.git, which was
This file was extended by libpng $as_me 1.6.59, which was
generated by GNU Autoconf 2.73. Invocation command line was
CONFIG_FILES = $CONFIG_FILES
@@ -16766,7 +16766,7 @@ ac_cs_config_escaped=`printf '%s\n' "$ac_cs_config" | sed "s/^ //; s/'/'\\\\\\\\
cat >>"$CONFIG_STATUS" <<_ACEOF || ac_write_fail=1
ac_cs_config='$ac_cs_config_escaped'
ac_cs_version="\\
libpng config.status 1.6.59.git
libpng config.status 1.6.59
configured by $0, generated by GNU Autoconf 2.73,
with options \\"\$ac_cs_config\\"

View File

@@ -25,7 +25,7 @@ AC_PREREQ([2.68])
dnl Version number stuff here:
AC_INIT([libpng],[1.6.59.git],[png-mng-implement@lists.sourceforge.net])
AC_INIT([libpng],[1.6.59],[png-mng-implement@lists.sourceforge.net])
AC_CONFIG_MACRO_DIR([scripts/autoconf])
# libpng does not follow GNU file name conventions (hence 'foreign')
@@ -46,7 +46,7 @@ dnl automake, so the following is not necessary (and is not defined anyway):
dnl AM_PREREQ([1.11.2])
dnl stop configure from automagically running automake
PNGLIB_VERSION=1.6.59.git
PNGLIB_VERSION=1.6.59
PNGLIB_MAJOR=1
PNGLIB_MINOR=6
PNGLIB_RELEASE=59

View File

@@ -9,7 +9,7 @@ libpng-manual.txt - A description on how to use and modify libpng
Based on:
libpng version 1.6.36, December 2018, through 1.6.58 - April 2026
libpng version 1.6.36, December 2018, through 1.6.59 - September 2026
Updated and distributed by Cosmin Truta
Copyright (c) 2018-2026 Cosmin Truta

View File

@@ -1,6 +1,6 @@
.TH LIBPNG 3 "April 15, 2026"
.TH LIBPNG 3 "September 28, 2026"
.SH NAME
libpng \- Portable Network Graphics (PNG) Reference Library 1.6.58
libpng \- Portable Network Graphics (PNG) Reference Library 1.6.59
.SH SYNOPSIS
\fB#include <png.h>\fP
@@ -528,7 +528,7 @@ libpng-manual.txt - A description on how to use and modify libpng
Based on:
libpng version 1.6.36, December 2018, through 1.6.58 - April 2026
libpng version 1.6.36, December 2018, through 1.6.59 - September 2026
Updated and distributed by Cosmin Truta
Copyright (c) 2018-2026 Cosmin Truta

View File

@@ -1,6 +1,6 @@
.TH LIBPNGPF 3 "April 15, 2026"
.TH LIBPNGPF 3 "September 28, 2026"
.SH NAME
libpng \- Portable Network Graphics (PNG) Reference Library 1.6.58
libpng \- Portable Network Graphics (PNG) Reference Library 1.6.59
.SH SYNOPSIS
\fB#include "pngpriv.h"\fP

2
png.5
View File

@@ -1,4 +1,4 @@
.TH PNG 5 "April 15, 2026"
.TH PNG 5 "September 28, 2026"
.SH NAME
png \- Portable Network Graphics (PNG) format

4
png.c
View File

@@ -13,7 +13,7 @@
#include "pngpriv.h"
/* Generate a compiler error if there is an old png.h in the search path. */
typedef png_libpng_version_1_6_59_git Your_png_h_is_not_version_1_6_59_git;
typedef png_libpng_version_1_6_59 Your_png_h_is_not_version_1_6_59;
/* Sanity check the chunks definitions - PNG_KNOWN_CHUNKS from pngpriv.h and the
* corresponding macro definitions. This causes a compile time failure if
@@ -820,7 +820,7 @@ png_get_copyright(png_const_structrp png_ptr)
return PNG_STRING_COPYRIGHT
#else
return PNG_STRING_NEWLINE \
"libpng version 1.6.59.git" PNG_STRING_NEWLINE \
"libpng version 1.6.59" PNG_STRING_NEWLINE \
"Copyright (c) 2018-2026 Cosmin Truta" PNG_STRING_NEWLINE \
"Copyright (c) 1998-2002,2004,2006-2018 Glenn Randers-Pehrson" \
PNG_STRING_NEWLINE \

16
png.h
View File

@@ -1,6 +1,6 @@
/* png.h - header file for PNG reference library
*
* libpng version 1.6.59.git
* libpng version 1.6.59
*
* Copyright (c) 2018-2026 Cosmin Truta
* Copyright (c) 1998-2002,2004,2006-2018 Glenn Randers-Pehrson
@@ -14,7 +14,7 @@
* libpng versions 0.89, June 1996, through 0.96, May 1997: Andreas Dilger
* libpng versions 0.97, January 1998, through 1.6.35, July 2018:
* Glenn Randers-Pehrson
* libpng versions 1.6.36, December 2018, through 1.6.58, April 2026:
* libpng versions 1.6.36, December 2018, through 1.6.59, September 2026:
* Cosmin Truta
* See also "Contributing Authors", below.
*/
@@ -238,7 +238,7 @@
* ...
* 1.5.30 15 10530 15.so.15.30[.0]
* ...
* 1.6.58 16 10658 16.so.16.58[.0]
* 1.6.59 16 10659 16.so.16.59[.0]
*
* Henceforth the source version will match the shared-library major and
* minor numbers; the shared-library major version number will be used for
@@ -274,7 +274,7 @@
*/
/* Version information for png.h - this should match the version in png.c */
#define PNG_LIBPNG_VER_STRING "1.6.59.git"
#define PNG_LIBPNG_VER_STRING "1.6.59"
#define PNG_HEADER_VERSION_STRING " libpng version " PNG_LIBPNG_VER_STRING "\n"
/* The versions of shared library builds should stay in sync, going forward */
@@ -290,7 +290,7 @@
/* This should be zero for a public release, or non-zero for a
* development version.
*/
#define PNG_LIBPNG_VER_BUILD 1
#define PNG_LIBPNG_VER_BUILD 0
/* Release Status */
#define PNG_LIBPNG_BUILD_ALPHA 1
@@ -307,7 +307,7 @@
#define PNG_LIBPNG_BUILD_SPECIAL 32 /* Cannot be OR'ed with
PNG_LIBPNG_BUILD_PRIVATE */
#define PNG_LIBPNG_BUILD_BASE_TYPE PNG_LIBPNG_BUILD_BETA
#define PNG_LIBPNG_BUILD_BASE_TYPE PNG_LIBPNG_BUILD_STABLE
/* Careful here. At one time, Guy wanted to use 082, but that
* would be octal. We must not include leading zeros.
@@ -316,7 +316,7 @@
* From version 1.0.1 it is:
* XXYYZZ, where XX=major, YY=minor, ZZ=release
*/
#define PNG_LIBPNG_VER 10659 /* 1.6.59.git */
#define PNG_LIBPNG_VER 10659 /* 1.6.59 */
/* Library configuration: these options cannot be changed after
* the library has been built.
@@ -426,7 +426,7 @@ extern "C" {
/* This triggers a compiler error in png.c, if png.c and png.h
* do not agree upon the version number.
*/
typedef char *png_libpng_version_1_6_59_git;
typedef char *png_libpng_version_1_6_59;
/* Basic control structions. Read libpng-manual.txt or libpng.3 for more info.
*

View File

@@ -1,6 +1,6 @@
/* pngconf.h - machine-configurable file for libpng
*
* libpng version 1.6.59.git
* libpng version 1.6.59
*
* Copyright (c) 2018-2026 Cosmin Truta
* Copyright (c) 1998-2002,2004,2006-2016,2018 Glenn Randers-Pehrson

View File

@@ -11,7 +11,7 @@
# Modeled after libxml-config.
version=1.6.59.git
version=1.6.59
prefix=""
libdir=""
libs=""

View File

@@ -5,6 +5,6 @@ includedir=@includedir@/libpng16
Name: libpng
Description: Loads and saves PNG files
Version: 1.6.59.git
Version: 1.6.59
Libs: -L${libdir} -lpng16
Cflags: -I${includedir}

View File

@@ -1,6 +1,6 @@
/* pnglibconf.h - library build configuration */
/* libpng version 1.6.59.git */
/* libpng version 1.6.59 */
/* Copyright (c) 2018-2026 Cosmin Truta */
/* Copyright (c) 1998-2002,2004,2006-2018 Glenn Randers-Pehrson */