Backend Flate / zlib-ng
A versão 3.11.0 troca o backend Flate do Windows usado por CompressContent, CompressPage, CompressImages, InflateStr e pela decodificação interna de streams PDF para zlib-ng em modo compatível com zlib. A API pública e o formato de saída PDF permanecem inalterados; os streams ainda usam o filtro padrão /FlateDecode
Win32 vincula objetos OMF produzidos em Lib\thirdparty\zlib com bcc32c. Delphi Win64 e C++Builder Win64x vinculam objetos COFF64 produzidos por bcc64x a partir de Lib\thirdparty\Win64x, para que ambos os caminhos RAD Studio de 64 bits usem o mesmo conjunto de objetos SIMD do runtime zlib-ng. Os objetos MSVC zlib-ng em Lib\thirdparty\Win64 são mantidos como saída de rebuild diagnóstico
Os scripts de rebuild do zlib são Lib\thirdparty\build-zlib-bcc32.bat, Lib\thirdparty\build-zlib-vc64.bat e Lib\thirdparty\build-zlib-bcc64x.bat. Os caminhos Win64 também vinculam zng_bridge.obj, que mantém as declarações Pascal usando pontos de entrada estáveis compatíveis com zlib enquanto os objetos vêm do zlib-ng
Os testes de regressão da versão 3.11.0 adicionaram round trips zlib de fluxo de bytes fixos e verificações de compressão HelloWorld, incluindo o runner GoogleTest do C++Builder. A passagem de validação 3.12.0 amplia isso com conjuntos de objetos nativos com SIMD reconstruídos e execuções completas de regressão Delphi/C++Builder
A passagem de backend 3.18.5 remove os ramos de fallback restantes de System.ZLib e não zlib-ng da unidade PDFlibZLib.pas. As compilações normais sem NOVCL agora sempre direcionam DeflateStr, DeflateStrNoCompression, InflateStr e InflateStrParms para os objetos estáticos zlib-ng incluídos; Win32 seleciona o conjunto de objetos OMF e Win64/Win64x seleciona o conjunto de objetos COFF64 bcc64x. Os testes de regressão agora incluem streams zlib conhecidos, cargas úteis em tamanho de limite, cargas úteis de scanline semelhantes a PNG e round trips multi-bloco armazenados em Delphi e C++Builder