819
PNG has been updated for the first time in 22 years — new spec supports HDR and animation
(www.tomshardware.com)
This is a most excellent place for technology news and articles.
But is it backwards compatible with an old version that can't be updated?
I'm probably gonna be massively downvoted for saying the forbidden word but I asked AI to do a summary with references of the forward and backward compatibility of PNG's new version:
Based on recent search results, the new PNG specification (Third Edition) and its reference library (libpng) maintain strong backward compatibility while introducing modern features. Here's a detailed compatibility analysis:
🔄 1. Backward Compatibility (Viewing Old PNGs with New Lib)
png_struct
/png_info
internals since 1.5.0) ensures older apps usingpng_get_*
/png_set_*
functions remain compatible. Direct struct access, deprecated since 1.4.x, may break in libpng 2.0.x (C99-only) .png_image_free()
) were patched in libpng 1.6.37+, making the new lib safer for decoding old files .⚠️ 2. Forward Compatibility (Viewing New PNGs with Old Lib)
IHDR
orIDAT
remain unchanged .mDCv
chunk. Older libs ignore HDR data, falling back to SDR, which may cause color inaccuracies .eXIf
chunks are ignored by legacy decoders, losing metadata like GPS or copyright info .📊 Compatibility Summary
🔧 3. Implementation and Industry Adoption
💎 Conclusion
For developers: Use
png_get_valid(png_ptr, info_ptr, PNG_INFO_mDCv)
to check HDR support and provide fallbacks .!<
downvoters: is it wrong?
Considering it named CVE-2019-7317, which was fixed in April 2019, it's already hallucinating and not worth reading further into it.