pngcheck 4.0.1 is out to check your PNG files

Cosmin Truta <[email protected]> Mon, 15 Dec 2025 21:26:26 +0200
Newsgroups gmane.comp.graphics.png.announce
Message-ID <CAAoVtZzedYDHPpNyrMCXHqFcUKyKvFzKJ5d8JbhwdwxXuF_TYQ@mail.gmail.com>
--===============8791643864860910879==
Content-Type: multipart/alternative; boundary="000000000000ffe3c706460296d9"

--000000000000ffe3c706460296d9
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable

Hello, everyone,

Wanna know what's new with the good old pngcheck?

https://github.com/pnggroup/pngcheck
https://github.com/pnggroup/pngcheck/releases/tag/v4.0.1

The last official release announcement was for version 3.0.3 back in April
2021. We went through a Git history reconstruction and a "missed
announcement opportunity" for version 4.0.0, and that's alright, given how
the publication of PNG Third Edition was soooo much more interesting.

Any guess: what makes pngcheck version 4.0.1 soooo much more interesting?..=
.

***

PNG Third Edition brought us HDR support via three new chunks: *cICP*
(Coding Independent Code Points), *mDCV* (Mastering Display Color Volume),
and *cLLI* (Content Light Level Information). It also *finally*
standardized *APNG* =E2=80=94 yes, the animated PNG format that Firefox shi=
pped in
2008 and everyone else adopted over the years is now officially part of the
spec. And then, PNG Fourth Edition (still in draft) brings *caBX* for
content credentials, a.k.a. the "is this AI-generated?" metadata that the
C2PA folks are working on.

The new pngcheck understands all of these. It will tell you if your HDR PNG
is using BT.2100 PQ or P3D65, it will validate your APNG frame control
chunks, and it will flag that shiny new caBX chunk when it spots one.

Oh, and it also knows about *iDOT*, Apple's parallel-decoding chunk --
created by Apple in 2011, used by them consistently with Xcode, and only
just now registered in the PNG Extensions document. Better late than never!

The maintainership torch has been passed as well. Greg Roelofs, who
shepherded pngcheck from version 1.6 through 3.0.3, handed the reins to
Chris Lilley. I'm helping out as co-maintainer, which mostly means I get to
write build files and pester Chris about edge cases.

Speaking of which: pngcheck now builds with CMake as the primary build
system. zlib is a proper required dependency now (no more ifdef USE_ZLIB
soup). We have CI workflows on GitHub Actions for Linux, macOS, and
Windows. The Windows builds auto-expand wildcards like civilized platforms
do. I kid you not: this project, as old as PNG itself, is just as modern as
a modern project can be!

---

Sincerely,
Cosmin

--000000000000ffe3c706460296d9
Content-Type: text/html; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable

<div dir=3D"ltr">Hello, everyone,<br><br>Wanna know what&#39;s new with the=
 good old pngcheck?<br><br><a href=3D"https://github.com/pnggroup/pngcheck"=
>https://github.com/pnggroup/pngcheck</a><br><a href=3D"https://github.com/=
pnggroup/pngcheck/releases/tag/v4.0.1">https://github.com/pnggroup/pngcheck=
/releases/tag/v4.0.1</a><br><br>The last official release announcement was =
for version 3.0.3 back in April 2021. We went through a Git history reconst=
ruction and a &quot;missed announcement opportunity&quot; for version 4.0.0=
, and that&#39;s alright, given how the publication of PNG Third Edition wa=
s soooo much more interesting.<br><br>Any guess: what makes pngcheck versio=
n 4.0.1 soooo much more interesting?...<br><br>***<br><br>PNG Third Edition=
 brought us HDR support via three new chunks: <b>cICP</b> (Coding Independe=
nt Code Points), <b>mDCV</b> (Mastering Display Color Volume), and <b>cLLI<=
/b> (Content Light Level Information). It also <i>finally</i> standardized =
<b>APNG</b> =E2=80=94 yes, the animated PNG format that Firefox shipped in =
2008 and everyone else adopted over the years is now officially part of the=
 spec. And then, PNG Fourth Edition (still in draft) brings <b>caBX</b> for=
 content credentials, a.k.a. the &quot;is this AI-generated?&quot; metadata=
 that the C2PA folks are working on.<br><br>The new pngcheck understands al=
l of these. It will tell you if your HDR PNG is using BT.2100 PQ or P3D65, =
it will validate your APNG frame control chunks, and it will flag that shin=
y new caBX chunk when it spots one.<br><br>Oh, and it also knows about <b>i=
DOT</b>, Apple&#39;s parallel-decoding chunk -- created by Apple in 2011, u=
sed by them consistently with Xcode, and only just now registered in the PN=
G Extensions document. Better late than never!<br><br>The maintainership to=
rch has been passed as well. Greg Roelofs, who shepherded pngcheck from ver=
sion 1.6 through 3.0.3, handed the reins to Chris Lilley. I&#39;m helping o=
ut as co-maintainer, which mostly means I get to write build files and pest=
er Chris about edge cases.<br><br>Speaking of which: pngcheck now builds wi=
th CMake as the primary build system. zlib is a proper required dependency =
now (no more ifdef USE_ZLIB soup). We have CI workflows on GitHub Actions f=
or Linux, macOS, and Windows. The Windows builds auto-expand wildcards like=
 civilized platforms do. I kid you not: this project, as old as PNG itself,=
 is just as modern as a modern project can be!<br><br>---<br><br>Sincerely,=
<br>Cosmin<br><br></div>

--000000000000ffe3c706460296d9--


--===============8791643864860910879==
Content-Type: text/plain; charset="us-ascii"
MIME-Version: 1.0
Content-Transfer-Encoding: 7bit
Content-Disposition: inline


--===============8791643864860910879==
Content-Type: text/plain; charset="us-ascii"
MIME-Version: 1.0
Content-Transfer-Encoding: 7bit
Content-Disposition: inline

_______________________________________________
png-mng-announce mailing list
png-mng-announce-5NWGOfrQmneRv+LV9MX5uipxlwaOVQ5f@public.gmane.org
https://lists.sourceforge.net/lists/listinfo/png-mng-announce

--===============8791643864860910879==--