Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
14 changes: 7 additions & 7 deletions .github/workflows/build-ios-mac.yml
Original file line number Diff line number Diff line change
Expand Up @@ -63,18 +63,18 @@ jobs:
build:
strategy:
matrix:
os: [macos-14, macos-15]
os: [macos-26, macos-15]
config: [release, debug]
simulator: ["'iPhone 15'", "'iPad Pro (11-inch) (4th generation)'", "'iPhone 16'", "'iPad Air 11-inch (M2)'"]
simulator: ["'iPhone 17'", "'iPad Pro 11-inch (M5)'", "'iPhone 16'", "'iPad Air 11-inch (M2)'"]
exclude:
- os: macos-14
- os: macos-26
simulator: "'iPhone 16'"
- os: macos-14
- os: macos-26
simulator: "'iPad Air 11-inch (M2)'"
- os: macos-15
simulator: "'iPhone 15'"
simulator: "'iPhone 17'"
- os: macos-15
simulator: "'iPad Pro (11-inch) (4th generation)'"
simulator: "'iPad Pro 11-inch (M5)'"
runs-on: ${{ matrix.os }}
timeout-minutes: 60
env:
Expand All @@ -88,7 +88,7 @@ jobs:
run: git submodule update --init --depth=1 third_party/googletest
- name: build
run: |
if [[ "${{ matrix.os }}" == "macos-14" ]]; then
if [[ "${{ matrix.os }}" == "macos-26" ]]; then
export CMAKE_OSX_DEPLOYMENT_TARGET=13.0;
elif [[ "${{ matrix.os }}" == "macos-15" ]]; then
export CMAKE_OSX_DEPLOYMENT_TARGET=15.0;
Expand Down
4 changes: 2 additions & 2 deletions Package.swift
Original file line number Diff line number Diff line change
Expand Up @@ -104,8 +104,8 @@ let package = Package(
name: "MATTelemetry",
path: "build/apple/MATTelemetry.xcframework") : .binaryTarget(
name: "MATTelemetry",
url: "https://github.com/microsoft/cpp_client_telemetry/releases/download/v3.10.281.1/MATTelemetry.xcframework.zip",
checksum: "799b956dde6c6dccdc46b762b14eca55f677608f81b12879031fbd9c91470812"),
url: "https://github.com/microsoft/cpp_client_telemetry/releases/download/v3.10.309.1/MATTelemetry.xcframework.zip",
checksum: "12b20684bcf09f8daec9c5ee1a1ecd567c354d4dea3273ba7023a40b7d0c4589"),

// Thin Swift API layer (source). Depends on the Obj-C module from the
// xcframework. The conditional source exclusions above must stay in sync
Expand Down
2 changes: 1 addition & 1 deletion cgmanifest.json
Original file line number Diff line number Diff line change
Expand Up @@ -26,7 +26,7 @@
"Type": "git",
"git": {
"RepositoryUrl": "https://github.com/madler/zlib",
"CommitHash": "da607da739fa6047df13e66a2af6b8bec7c2a498"
"CommitHash": "99623ef7097352da7993ba614161fd6a311e046e"
}
},
"DevelopmentDependency": false
Expand Down
3 changes: 3 additions & 0 deletions lib/android_build/build.gradle
Original file line number Diff line number Diff line change
Expand Up @@ -4,6 +4,8 @@ ext {
buildscript {
repositories {
google() // to fetch com.android.tools.build:gradle
// Avoid Maven Central rate limits on shared CI runner addresses.
maven { url 'https://maven-central.storage-download.googleapis.com/maven2/' }
mavenCentral()
}
dependencies {
Expand All @@ -16,6 +18,7 @@ buildscript {
allprojects {
repositories {
google() // to fetch com.android.tools.build:gradle
maven { url 'https://maven-central.storage-download.googleapis.com/maven2/' }
mavenCentral()
}
}
Expand Down
6 changes: 3 additions & 3 deletions lib/include/public/Version.hpp
Original file line number Diff line number Diff line change
Expand Up @@ -6,8 +6,8 @@
#define MAT_VERSION_HPP
// WARNING: DO NOT MODIFY THIS FILE!
// This file has been automatically generated, manual changes will be lost.
#define BUILD_VERSION_STR "3.10.309.1"
#define BUILD_VERSION 3,10,309,1
#define BUILD_VERSION_STR "3.10.310.1"
#define BUILD_VERSION 3,10,310,1

#ifndef RESOURCE_COMPILER_INVOKED
#include "ctmacros.hpp"
Expand All @@ -18,7 +18,7 @@ namespace MAT_NS_BEGIN {
uint64_t const Version =
((uint64_t)3 << 48) |
((uint64_t)10 << 32) |
((uint64_t)309 << 16) |
((uint64_t)310 << 16) |
((uint64_t)1);

} MAT_NS_END
Expand Down
12 changes: 8 additions & 4 deletions zlib/CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,8 @@ set(CMAKE_ALLOW_LOOSE_LOOP_CONSTRUCTS ON)

project(zlib C)

set(VERSION "1.3.2")
set(VERSION "1.4")
set(zlib_VERSION "${VERSION}")

option(ASM686 "Enable building i686 assembly implementation")
option(AMD64 "Enable building amd64 assembly implementation")
Expand All @@ -14,6 +15,9 @@ set(INSTALL_INC_DIR "${CMAKE_INSTALL_PREFIX}/include" CACHE PATH "Installation d
set(INSTALL_MAN_DIR "${CMAKE_INSTALL_PREFIX}/share/man" CACHE PATH "Installation directory for manual pages")
set(INSTALL_PKGCONFIG_DIR "${CMAKE_INSTALL_PREFIX}/share/pkgconfig" CACHE PATH "Installation directory for pkgconfig (.pc) files")

set(pc_libdir "${INSTALL_LIB_DIR}")
set(pc_includedir "${INSTALL_INC_DIR}")

include(CheckTypeSize)
include(CheckFunctionExists)
include(CheckIncludeFile)
Expand Down Expand Up @@ -221,16 +225,16 @@ endif()

add_executable(example test/example.c)
target_link_libraries(example zlib)
add_test(example example)
add_test(NAME example COMMAND example example.gz)

add_executable(minigzip test/minigzip.c)
target_link_libraries(minigzip zlib)

if(HAVE_OFF64_T)
if(HAVE_OFF64_T OR WIN32)
add_executable(example64 test/example.c)
target_link_libraries(example64 zlib)
set_target_properties(example64 PROPERTIES COMPILE_FLAGS "-D_FILE_OFFSET_BITS=64")
add_test(example64 example64)
add_test(NAME example64 COMMAND example64 example64.gz)

add_executable(minigzip64 test/minigzip.c)
target_link_libraries(minigzip64 zlib)
Expand Down
31 changes: 31 additions & 0 deletions zlib/ChangeLog
Original file line number Diff line number Diff line change
@@ -1,6 +1,37 @@

ChangeLog file for zlib

Changes in 1.4 (4 Nov 2026)
- Change CMake library names on MSVC
- Return z_off_t default to long for portability
- Fail gzopen() with "x" if O_EXCL not available
- Deliver all gzip data before reporting error
- Fix gzwrite() buffer overflow (CVE-2026-85091)
- Fix inflateGetDictionary() write past buffer on invalid window size
- Fix window write overrun after inflateSync()
- Fix read before provided data after repeated inflatePrime()'s
- Fix write past pending buffer after repeated deflatePrime()'s
- Fix copy of uninitialized memory by inflateBack() on invalid data
- Fix copy of uninitialized memory after gzseek() as first write action
- Fix read outside window after a deflateResetKeep() mid-stream
- Avoid out-of-bounds pointer arithmetic in infback9() (CVE-2026-4738)
- Fix several vulnerabilities in contrib/minizip
- Fix truncated stream detection in gzread()
- Fix pending skip handling in gzread()
- Fix loss of zero fill on repeated gzseek()'s when writing
- Fix inaccurate total_in after Z_NEED_DICT returned
- Detect and report bad deflateSetDictionary() calls
- Avoid undefined behaviors in C language usage
- Fix minizip extra field overflows when almost full and need Zip64
- Don't assume NULL is defined in compress.c and uncompr.c
- Use the generated zconf.h when building test programs out of tree
- Improve portability and functionality of CMake builds
- Provide 64-bit file offsets on Windows with #defines as on Linux
- Improve portability to Android, AIX, PowerPC, s390x, and Windows
- Use a PCG random number generator instead of rand() in minizip
- Clarify documentation
- (See https://github.com/madler/zlib for all 195 commits)

Changes in 1.3.2 (17 Feb 2026)
- Continued rewrite of CMake build [Vollstrecker]
- Various portability improvements
Expand Down
16 changes: 13 additions & 3 deletions zlib/Makefile.in
Original file line number Diff line number Diff line change
Expand Up @@ -31,7 +31,7 @@ VGFMAFLAG=

STATICLIB=libz.a
SHAREDLIB=libz.so
SHAREDLIBV=libz.so.1.3.2
SHAREDLIBV=libz.so.1.4
SHAREDLIBM=libz.so.1
LIBS=$(STATICLIB) $(SHAREDLIBV)

Expand All @@ -40,6 +40,8 @@ ARFLAGS=rc
RANLIB=ranlib
LDCONFIG=ldconfig
LDSHAREDLIBC=-lc
SHAREDEXP=
SHAREDEXPFLAG=
TAR=tar
SHELL=/bin/sh
EXE=
Expand Down Expand Up @@ -285,13 +287,21 @@ gzwrite.lo: $(SRCDIR)gzwrite.c
-@mv objs/gzwrite.o $@


placebo $(SHAREDLIBV): $(PIC_OBJS) libz.a $(SRCDIR)zlib.map
$(LDSHARED) $(SFLAGS) -o $@ $(PIC_OBJS) $(LDSHAREDLIBC) $(LDFLAGS)
placebo $(SHAREDLIBV): $(PIC_OBJS) libz.a $(SRCDIR)zlib.map $(SHAREDEXP)
$(LDSHARED) $(SFLAGS) $(SHAREDEXPFLAG) -o $@ $(PIC_OBJS) $(LDSHAREDLIBC) $(LDFLAGS)
rm -f $(SHAREDLIB) $(SHAREDLIBM)
ln -s $@ $(SHAREDLIB)
ln -s $@ $(SHAREDLIBM)
-@rmdir objs

libz.exp: $(PIC_OBJS)
dump -tov -X 32_64 $(PIC_OBJS) | \
awk '$$1 ~ /^\[[0-9]+\]$$/ && $$2 == "m" && \
$$4 ~ /^\.(text|data|bss)$$/ && ($$6 == "extern" || $$6 == "weak") && \
$$7 != "HIDDEN" && $$7 != "INTERNAL" && $$NF !~ /^\./ { print $$NF }' | \
sort -u > $@
@test -s $@ || { echo "no symbols found for $@" >&2; rm -f $@; false; }

example$(EXE): example.o $(STATICLIB)
$(CC) $(CFLAGS) $(LDFLAGS) -o $@ example.o $(TEST_LIBS)

Expand Down
4 changes: 2 additions & 2 deletions zlib/compress.c
Original file line number Diff line number Diff line change
Expand Up @@ -28,8 +28,8 @@ int ZEXPORT compress2_z(Bytef *dest, z_size_t *destLen, const Bytef *source,
const uInt max = (uInt)-1;
z_size_t left;

if ((sourceLen > 0 && source == NULL) ||
destLen == NULL || (*destLen > 0 && dest == NULL))
if ((sourceLen > 0 && source == Z_NULL) ||
destLen == Z_NULL || (*destLen > 0 && dest == Z_NULL))
return Z_STREAM_ERROR;

left = *destLen;
Expand Down
43 changes: 40 additions & 3 deletions zlib/configure
Original file line number Diff line number Diff line change
Expand Up @@ -26,7 +26,7 @@ if test $SRCDIR = "."; then
SRCDIR=""
else
ZINC='-I. -include zconf.h'
ZINCOUT='-I. -I$(SRCDIR)'
ZINCOUT='-I. -I$(SRCDIR) -include zconf.h'
SRCDIR="$SRCDIR/"
fi

Expand Down Expand Up @@ -321,7 +321,9 @@ if test "$gcc" -eq 1 && ($cc -c $test.c) >> configure.log 2>&1; then
esac ;;
AIX*)
LDSHARED=${LDSHARED-"$cc -shared"}
LDFLAGS="${LDFLAGS} -Wl,-brtl" ;;
LDFLAGS="${LDFLAGS} -Wl,-brtl"
SHAREDEXP=libz.exp
SHAREDEXPFLAG=-Wl,-bE:libz.exp ;;
Darwin* | darwin* | *-darwin*)
shared_ext='.dylib'
SHAREDLIB=libz$shared_ext
Expand Down Expand Up @@ -403,6 +405,7 @@ else
fi
if test -n "$ZINC"; then
ZINC='-I- -I. -I$(SRCDIR)'
ZINCOUT='-I- -I. -I$(SRCDIR)'
fi
;;
SunOS\ 4*) SFLAGS=${CFLAGS-"-O2 -PIC"}
Expand Down Expand Up @@ -507,6 +510,29 @@ else
leave 1
fi

# turn off useless GCC 5 warning about PowerPC vector type alignments.
if test "$gcc" -eq 1; then
cat > $test.c << EOF
typedef int zvec __attribute__((vector_size(8)));
struct zstruct { char c; zvec v; };
int zfunc(struct zstruct *s) { return s->c; }
EOF
echo "Checking for gcc vector ABI notes..." >> configure.log
show $CC -c $CFLAGS $test.c
got=`( $CC -c $CFLAGS $test.c ) 2>&1`
if test "$got" != ""; then
printf "%s\n" "$got" >> configure.log
fi
case "$got" in
*"changed in GCC 5"*)
if tryboth $CC -c $CFLAGS -Wno-psabi $test.c; then
echo "... turning the notes off with -Wno-psabi" >> configure.log
CFLAGS="${CFLAGS} -Wno-psabi"
SFLAGS="${SFLAGS} -Wno-psabi"
fi ;;
esac
fi

echo >> configure.log

# see if shared library build supported
Expand All @@ -517,8 +543,15 @@ EOF
if test $shared -eq 1; then
echo Checking for shared library support... | tee -a configure.log
# we must test in two steps (cc then ld), required at least on SunOS 4.x
# the second link test is for linkers like lld that by default reject a
# version script naming symbols that the test object doesn't define -- if
# that's needed, keep the option, since some builds (e.g. --solo) don't
# define all of the symbols in zlib.map
if try $CC -c $SFLAGS $test.c &&
try $LDSHARED $SFLAGS $LDFLAGS -o $test$shared_ext $test.o; then
{ try $LDSHARED $SFLAGS $LDFLAGS -o $test$shared_ext $test.o ||
{ try $LDSHARED $SFLAGS $LDFLAGS -Wl,--undefined-version \
-o $test$shared_ext $test.o &&
LDSHARED="$LDSHARED -Wl,--undefined-version"; }; }; then
echo Building shared library $SHAREDLIBV with $CC. | tee -a configure.log
elif test -z "$old_cc" -a -z "$old_cflags"; then
echo No shared library support. | tee -a configure.log
Expand Down Expand Up @@ -1024,6 +1057,7 @@ sed < ${SRCDIR}Makefile.in "
/^LDFLAGS *=/s#=.*#=$LDFLAGS#
/^LDSHARED *=/s#=.*#=$LDSHARED#
/^CPP *=/s#=.*#=$CPP#
/^VGFMAFLAG *=/s#=.*#=$VGFMAFLAG#
/^STATICLIB *=/s#=.*#=$STATICLIB#
/^SHAREDLIB *=/s#=.*#=$SHAREDLIB#
/^SHAREDLIBV *=/s#=.*#=$SHAREDLIBV#
Expand All @@ -1033,6 +1067,8 @@ sed < ${SRCDIR}Makefile.in "
/^RANLIB *=/s#=.*#=$RANLIB#
/^LDCONFIG *=/s#=.*#=$LDCONFIG#
/^LDSHAREDLIBC *=/s#=.*#=$LDSHAREDLIBC#
/^SHAREDEXP *=/s#=.*#=$SHAREDEXP#
/^SHAREDEXPFLAG *=/s#=.*#=$SHAREDEXPFLAG#
/^EXE *=/s#=.*#=$EXE#
/^SRCDIR *=/s#=.*#=$SRCDIR#
/^ZINC *=/s#=.*#=$ZINC#
Expand All @@ -1054,6 +1090,7 @@ sed < ${SRCDIR}zlib.pc.in "
/^CC *=/s#=.*#=$CC#
/^CFLAGS *=/s#=.*#=$CFLAGS#
/^CPP *=/s#=.*#=$CPP#
/^VGFMAFLAG *=/s#=.*#=$VGFMAFLAG#
/^LDSHARED *=/s#=.*#=$LDSHARED#
/^STATICLIB *=/s#=.*#=$STATICLIB#
/^SHAREDLIB *=/s#=.*#=$SHAREDLIB#
Expand Down
2 changes: 1 addition & 1 deletion zlib/contrib/delphi/ZLib.pas
Original file line number Diff line number Diff line change
Expand Up @@ -152,7 +152,7 @@ procedure DecompressToUserBuf(const InBuf: Pointer; InBytes: Integer;
const OutBuf: Pointer; BufSize: Integer);

const
zlib_version = '1.3.2';
zlib_version = '1.4';

type
EZlibError = class(Exception);
Expand Down
2 changes: 1 addition & 1 deletion zlib/contrib/dotzlib/DotZLib/UnitTests.cs
Original file line number Diff line number Diff line change
Expand Up @@ -156,7 +156,7 @@ public class InfoTests
public void Info_Version()
{
Info info = new Info();
Assert.AreEqual("1.3.2", Info.Version);
Assert.AreEqual("1.4", Info.Version);
Assert.AreEqual(32, info.SizeOfUInt);
Assert.AreEqual(32, info.SizeOfULong);
Assert.AreEqual(32, info.SizeOfPointer);
Expand Down
Loading
Loading