Repository navigation
Conversation
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
Use supported macos-26 runners and their installed iPhone 17 and iPad Pro 11-inch (M5) simulators. Preserve the macos-15 jobs, all eight debug/release phone/tablet combinations, and the existing iOS deployment targets. Files changed: .github/workflows/build-ios-mac.yml Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com> Copilot-Session: 75db4712-f7f2-445b-bb95-9881e4c13228
Integrate the concurrent main-branch merge without rewriting either commit history. The merge introduces no additional manual file edits. Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com> Copilot-Session: 75db4712-f7f2-445b-bb95-9881e4c13228
bmehta001
enabled auto-merge (squash)
November 5, 2026 22:51
Use Google's Maven Central mirror before the shared rate-limited endpoint while preserving full Java builds and CodeQL analysis. Prepare a distinct SwiftPM-compatible release version and pin the default Swift binary to the latest published artifact. Files: lib/android_build/build.gradle, lib/include/public/Version.hpp, Package.swift Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com> Copilot-Session: 7aef1c72-9845-4155-bc0c-969d69703c6e
Contributor
There was a problem hiding this comment.
🟡 Changes recommended
A partial transparent read followed by EIO can leave a stale buffer pointer, allowing subsequent reads to access memory beyond the allocation.
4 open issues
What changed in this PR
Updates the SDK’s vendored zlib to 1.4, bringing upstream security and correctness fixes while retaining SDK-specific symbol isolation and legacy library names. External vcpkg dependencies remain unchanged.
Changes:
- Refresh zlib and minizip sources, documentation, version metadata, and upstream provenance.
- Update Windows large-file support, packaging metadata, and standalone build/test integration.
- Refresh iOS CI runners, add an Android dependency mirror, and advance SDK/Swift package version references.
| File | Description |
|---|---|
zlib/zutil.c |
Fix allocation cleanup. |
zlib/zlib.pc.cmakein |
Populate configured installation paths. |
zlib/zlib.h |
Update version, API documentation, and large-file aliases. |
zlib/zlib.3 |
Update manual release information. |
zlib/zconf.h.in |
Update offset types and Windows large-file support. |
zlib/zconf.h.cmakein |
Synchronize CMake-generated offset definitions. |
zlib/zconf.h |
Update bundled offset definitions. |
zlib/win32/README-WIN32.txt |
Update Windows release references. |
zlib/win32/Makefile.msc |
Remove the fixed DLL base address. |
zlib/uncompr.c |
Use portable null-pointer macros. |
zlib/trees.c |
Bound character classification input. |
zlib/treebuild.xml |
Update package version metadata. |
zlib/test/minigzip.c |
Improve memory-mapping portability. |
zlib/test/infcover.c |
Extend invalid-dictionary coverage and allocation handling. |
zlib/qnx/package.qpg |
Update QNX library version references. |
zlib/Makefile.in |
Update version and AIX export generation. |
zlib/inftrees.h |
Adjust workaround decoding-table limits. |
zlib/inftrees.c |
Update version and invalid-code entries. |
zlib/inflate.h |
Track requested window and wrapper settings. |
zlib/inflate.c |
Fix reset, synchronization, dictionary, and copy handling. |
zlib/infback.c |
Correct fast-path window bookkeeping. |
zlib/gzwrite.c |
Fix buffering, zero-fill, and stalled-write handling. |
zlib/gzread.c |
Revise buffered errors, skipping, and stream-end handling. |
zlib/gzlib.c |
Harden file opening, seeking, and error state. |
zlib/gzguts.h |
Add portable blocking checks and offset limits. |
zlib/deflate.c |
Fix reset, priming, copying, and block completion. |
zlib/crc32.c |
Explicitly cast the initial braid checksum. |
zlib/contrib/pascal/zlibpas.pas |
Update Pascal version constants. |
zlib/contrib/minizip/zip.h |
Document extra-field size limits. |
zlib/contrib/minizip/zip.c |
Harden ZIP64 metadata, parsing, and cleanup. |
zlib/contrib/minizip/unzip.h |
Clarify truncated-string handling. |
zlib/contrib/minizip/unzip.c |
Validate ZIP64 locations and extra-field boundaries. |
zlib/contrib/minizip/test/find_package_wrong_components_test.cmake.in |
Raise the test’s CMake minimum. |
zlib/contrib/minizip/test/find_package_test.cmake.in |
Update CMake minimum and format component requests. |
zlib/contrib/minizip/test/find_package_no_components_test.cmake.in |
Raise the test’s CMake minimum. |
zlib/contrib/minizip/test/CMakeLists.txt |
Revise package-test paths, fixtures, and platform options. |
zlib/contrib/minizip/test/add_subdirectory_test.cmake.in |
Raise the test’s CMake minimum. |
zlib/contrib/minizip/test/add_subdirectory_exclude_test.cmake.in |
Raise the test’s CMake minimum. |
zlib/contrib/minizip/skipset.h |
Localize helpers and improve C compatibility. |
zlib/contrib/minizip/mztools.c |
Use unsigned arithmetic for 32-bit reads. |
zlib/contrib/minizip/minizipConfig.cmake.in |
Improve dependency and component reporting. |
zlib/contrib/minizip/miniunz.c |
Sanitize extraction paths and revise directory creation. |
zlib/contrib/minizip/Makefile.am |
Install integer definitions and link miniunzip with zlib. |
zlib/contrib/minizip/ioapi.h |
Correct Android large-file feature detection. |
zlib/contrib/minizip/crypt.h |
Switch encryption-header generation to PCG32. |
zlib/contrib/minizip/configure.ac |
Update the Autoconf package version. |
zlib/contrib/minizip/CMakeLists.txt |
Revise targets, installation metadata, and test setup. |
zlib/contrib/infback9/inftree9.c |
Remove out-of-bounds table-pointer arithmetic. |
zlib/contrib/dotzlib/DotZLib/UnitTests.cs |
Update the expected zlib version. |
zlib/contrib/delphi/ZLib.pas |
Update the Delphi version constant. |
zlib/configure |
Improve generated-header and platform linker handling. |
zlib/compress.c |
Use portable null-pointer macros. |
zlib/CMakeLists.txt |
Update version, pkg-config paths, and Windows examples. |
zlib/ChangeLog |
Record upstream 1.4 changes. |
Package.swift |
Update the binary release URL and checksum. |
lib/include/public/Version.hpp |
Advance the SDK build version. |
lib/android_build/build.gradle |
Add a Maven Central mirror before the primary repository. |
cgmanifest.json |
Record the zlib 1.4 upstream commit. |
.github/workflows/build-ios-mac.yml |
Replace the macOS 14 lane and its simulators. |
Review effort: Balanced
Contributor
Author
|
These zlib comments CoPilot made are perhaps accurate, but I would prefer to copy the library as is rather than making my own modifications, so I am resolving them. |
This branch has not been deployed
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.


Summary
99623ef7097352da7993ba614161fd6a311e046eincgmanifest.json.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
/W4 /WXand ran successfully.act_z_prefix.git diff --checkpassed.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.
CI runner compatibility
Replace the retired
macos-14iOS matrix lane with supportedmacos-26and its installediPhone 17/iPad Pro 11-inch (M5)simulators. Keep the macos-15 lane and all eight debug/release phone/tablet combinations. Existing iOS deployment targets remain unchanged.Verified supported labels and simulator inventories against GitHub's runner reference and the macOS 26 image inventory. Parsed workflow YAML and validated all expanded matrix combinations locally on Windows and Linux; existing spellcheck lint and whitespace checks passed. Actual Xcode/simulator execution requires hosted CI.