Flate / zlib-ng Backend

Version 3.11.0 switches the Windows Flate backend used by CompressContent, CompressPage, CompressImages, InflateStr, and internal PDF stream decoding to zlib-ng in zlib-compatible mode. The public API and PDF output format remain unchanged; streams still use the standard /FlateDecode filter.

Win32 links OMF objects produced from Lib\thirdparty\zlib with bcc32c. Delphi Win64 and C++Builder Win64x link bcc64x-built COFF64 objects from Lib\thirdparty\Win64x so both 64-bit RAD Studio paths use the same zlib-ng runtime SIMD object set. The MSVC zlib-ng objects in Lib\thirdparty\Win64 are retained as diagnostic rebuild output.

The zlib rebuild scripts are Lib\thirdparty\build-zlib-bcc32.bat, Lib\thirdparty\build-zlib-vc64.bat, and Lib\thirdparty\build-zlib-bcc64x.bat. The Win64 paths also link pdflib_zng_bridge.obj, which keeps the Pascal declarations using stable zlib-compatible entry points while the objects come from zlib-ng.

The 3.11.0 regression tests added fixed byte-stream zlib round trips and HelloWorld compression checks, including the C++Builder GoogleTest runner. The 3.12.0 validation pass extends this with rebuilt SIMD-capable native object sets and full Delphi/C++Builder regression runs.