libpng 1.6.39.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.38 - September 14, 2022
==================================

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.38.tar.xz (LZMA-compressed, recommended)
 * libpng-1.6.38.tar.gz

Source files with CRLF line endings (for Windows):

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

Other information:

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


Changes since the previous public release (version 1.6.37)
----------------------------------------------------------

 * Added configurations and scripts for continuous integration.
 * Fixed various errors in the handling of tRNS, hIST and eXIf.
 * Implemented many stability improvements across all platforms.
 * Updated the internal 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.
