Skip to content

Update vendored zlib to 1.4 - #9

Closed
bmehta001 wants to merge 1 commit into
mainfrom
update-zlib-1.4
Closed

bmehta001 wants to merge 1 commit into
mainfrom
update-zlib-1.4

Conversation

@bmehta001

Copy link
Copy Markdown
Owner

Summary

  • Update the vendored zlib sources and bundled minizip files from 1.3.2 to the latest upstream release, 1.4, including its security and correctness fixes.
  • Record upstream commit 99623ef7097352da7993ba614161fd6a311e046e in cgmanifest.json.
  • Preserve the SDK's act_z_ symbol isolation and legacy Windows/CMake library names. Synchronize the CMake header template with 1.4's Windows large-file support, fix prefixed large-file macro redefinitions, populate pkg-config metadata, and run the existing 64-bit-offset examples on Windows too.

vcpkg behavior

The SDK's vcpkg recipes already select an external zlib package rather than the vendored copy (Apple uses the OS library). The public vcpkg registry currently provides zlib 1.3.2#3, so this PR cannot update that dependency just by replacing the SDK's sources. vcpkg needs its own zlib port update to 1.4; consumers then need a registry checkout/baseline that includes that update. Existing pinned baselines do not advance automatically. No unrelated registry PR or custom overlay is introduced here.

Validation

  • Windows x64, Visual Studio 2026: SDK build and all 29 selected compression, HTTP encoding/decoding, payload decoding, and zlib utility tests passed.
  • Linux x64, Ubuntu/WSL with GCC 13: SDK build and the same 29 selected tests passed.
  • Standalone zlib: both normal and 64-bit-offset example tests passed on Windows and Linux; Windows 64-bit static consumer also compiled under /W4 /WX and ran successfully.
  • Linux static-library symbol inspection: every defined global symbol retains the SDK's act_z_ prefix.
  • vcpkg native and registry feature contracts, package dependency contracts, and all 13 release-port tests passed. These are recipe contract checks, not a full vcpkg package installation.
  • Existing repository spellcheck lint and git diff --check passed.

Only targeted SDK suites were run; no selected tests were skipped. Existing unrelated GoogleTest CMake deprecations, MSVC warning-level override notices, and SQLite macro redefinition warnings remain. The standalone zlib build was also exercised without the SDK's third-party warning suppression.

Refresh the vendored dependency to upstream v1.4 to pick up its security and correctness fixes. Preserve the SDK symbol prefix and legacy build targets, align the CMake configuration with native Windows large-file support, and exercise 64-bit offset consumers on Windows.

Files changed:
cgmanifest.json
zlib/CMakeLists.txt
zlib/ChangeLog
zlib/Makefile.in
zlib/compress.c
zlib/configure
zlib/contrib/delphi/ZLib.pas
zlib/contrib/dotzlib/DotZLib/UnitTests.cs
zlib/contrib/infback9/inftree9.c
zlib/contrib/minizip/CMakeLists.txt
zlib/contrib/minizip/Makefile.am
zlib/contrib/minizip/configure.ac
zlib/contrib/minizip/crypt.h
zlib/contrib/minizip/ioapi.h
zlib/contrib/minizip/miniunz.c
zlib/contrib/minizip/minizipConfig.cmake.in
zlib/contrib/minizip/mztools.c
zlib/contrib/minizip/skipset.h
zlib/contrib/minizip/test/CMakeLists.txt
zlib/contrib/minizip/test/add_subdirectory_exclude_test.cmake.in
zlib/contrib/minizip/test/add_subdirectory_test.cmake.in
zlib/contrib/minizip/test/find_package_no_components_test.cmake.in
zlib/contrib/minizip/test/find_package_test.cmake.in
zlib/contrib/minizip/test/find_package_wrong_components_test.cmake.in
zlib/contrib/minizip/unzip.c
zlib/contrib/minizip/unzip.h
zlib/contrib/minizip/zip.c
zlib/contrib/minizip/zip.h
zlib/contrib/pascal/zlibpas.pas
zlib/crc32.c
zlib/deflate.c
zlib/gzguts.h
zlib/gzlib.c
zlib/gzread.c
zlib/gzwrite.c
zlib/infback.c
zlib/inflate.c
zlib/inflate.h
zlib/inftrees.c
zlib/inftrees.h
zlib/qnx/package.qpg
zlib/test/infcover.c
zlib/test/minigzip.c
zlib/treebuild.xml
zlib/trees.c
zlib/uncompr.c
zlib/win32/Makefile.msc
zlib/win32/README-WIN32.txt
zlib/zconf.h
zlib/zconf.h.cmakein
zlib/zconf.h.in
zlib/zlib.3
zlib/zlib.3.pdf
zlib/zlib.h
zlib/zlib.pc.cmakein
zlib/zutil.c

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Copilot-Session: 75db4712-f7f2-445b-bb95-9881e4c13228
@bmehta001

Copy link
Copy Markdown
Owner Author

Superseded by microsoft#1558; the PR belongs in the Microsoft repository.

@bmehta001 bmehta001 closed this Nov 5, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant