libpng 1.6.41.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.40 - June 21, 2023
=============================

This is a public release of libpng, intended for use in production code.


Files available for download
----------------------------

Source files with LF line endings (for Unix/Linux):

 * libpng-1.6.40.tar.xz (LZMA-compressed, recommended)
 * libpng-1.6.40.tar.gz

Source files with CRLF line endings (for Windows):

 * lpng1640.7z (LZMA-compressed, recommended)
 * lpng1640.zip

Other information:

 * README.md
 * LICENSE.md
 * AUTHORS.md
 * TRADEMARK.md


Changes from version 1.6.39 to version 1.6.40
---------------------------------------------

 * Fixed the eXIf chunk multiplicity checks.
 * Fixed a memory leak in pCAL processing.
 * Corrected the validity report about tRNS inside png_get_valid().
 * Fixed various build issues on *BSD, Mac and Windows.
 * Updated the configurations and the scripts for continuous integration.
 * Cleaned up the code, the build scripts, and the documentation.


Send comments/corrections/commendations to png-mng-implement at lists.sf.net.
Subscription is required; visit
https://lists.sourceforge.net/lists/listinfo/png-mng-implement
to subscribe.
