Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
28 commits
Select commit Hold shift + click to select a range
c9c5662
doc: add sxa GPG key (ed25519)
sxa Jun 29, 2026
44cf27b
build: update binary-upload to use correct tarball name
sxa Aug 16, 2026
e306521
deps: update icu to 78.3
nodejs-github-bot Mar 20, 2026
66de634
node-api: add napi_create_external_sharedarraybuffer
bnoordhuis Apr 17, 2026
e5a6fde
tools: update gyp-next to 0.22.1
nodejs-github-bot Apr 28, 2026
6d6c3c9
deps: update timezone to 2026b
nodejs-github-bot Apr 28, 2026
5286330
deps: update corepack to 0.34.7
nodejs-github-bot Apr 28, 2026
fdc65e4
tools: use different branch for tool updates on staging branches
aduh95 May 11, 2026
3909ff2
node-api: support SharedArrayBuffer in napi_create_typedarray
umuoy1 May 13, 2026
23fb398
deps: update corepack to 0.35.0
nodejs-github-bot May 19, 2026
71feba6
crypto: update root certificates to NSS 3.123.1
nodejs-github-bot May 26, 2026
d9cb846
doc: clarify `filter` option of `sqlite.database.applyChangeset`
aduh95 May 26, 2026
38ee2e8
tools: avoid test/fixtures/wpt/README.md conflicts
panva Jun 16, 2026
01855a1
deps: c-ares: cherry-pick 8ba37af8e3fb
Renegade334 Jun 26, 2026
d68ee9f
tools: validate version number in release proposal commit message lint
aduh95 Jun 29, 2026
bc5753d
tools: remove `envinfo` from our workflows
aduh95 Jul 4, 2026
7d82841
deps: update c-ares to 1.34.8
nodejs-github-bot Jul 8, 2026
4e4bd1b
deps: update timezone to 2026c
nodejs-github-bot Jul 21, 2026
fe2a6b2
crypto: update root certificates to NSS 3.125
nodejs-github-bot Aug 2, 2026
6f6cd37
tools: sync mk-ca-bundle.pl with curl
Archkon Aug 5, 2026
5fbbad6
url: handle unparsable serialized URLs in setters
mcollina Aug 5, 2026
ed019e4
util: preserve function names without source map names
privatenumber Aug 13, 2026
ce91391
src: escape Windows environment variables in task runner
aduh95 Aug 13, 2026
02cafc4
tools: fix commit linter for semver-major release proposals
aduh95 Apr 27, 2026
7c2df5d
http2: avoid uaf while receiving and sending rst_stream
Eusgor Jul 17, 2026
b816fc8
deps: upgrade npm to 10.9.9
npm-cli-bot Aug 24, 2026
3376e27
deps: V8: cherry-pick a6eaf7574109
camillobruni May 27, 2024
dacd551
2026-09-01, Version 22.23.3 'Jod' (LTS)
juanarbol Aug 26, 2026
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
The table of contents is too big for display.
Diff view
Diff view
  •  
  •  
  •  
4 changes: 0 additions & 4 deletions .github/workflows/build-tarball.yml
Original file line number Diff line number Diff line change
Expand Up @@ -48,8 +48,6 @@ jobs:
uses: actions/setup-python@83679a892e2d95755f2dac6acb0bfd1e9ac5d548 # v6.1.0
with:
python-version: ${{ env.PYTHON_VERSION }}
- name: Environment Information
run: npx envinfo
- name: Make tarball
run: |
export DISTTYPE=nightly
Expand Down Expand Up @@ -85,8 +83,6 @@ jobs:
uses: Mozilla-Actions/sccache-action@7d986dd989559c6ecdb630a3fd2557667be217ad # v0.0.9
with:
version: v0.12.0
- name: Environment Information
run: npx envinfo
- name: Download tarball
uses: actions/download-artifact@018cc2cf5baa6db3ef3c5f8a56943fffe632ef53 # v6.0.0
with:
Expand Down
2 changes: 0 additions & 2 deletions .github/workflows/coverage-linux-without-intl.yml
Original file line number Diff line number Diff line change
Expand Up @@ -62,8 +62,6 @@ jobs:
uses: Mozilla-Actions/sccache-action@7d986dd989559c6ecdb630a3fd2557667be217ad # v0.0.9
with:
version: v0.12.0
- name: Environment Information
run: npx envinfo
- name: Install gcovr
run: pip install gcovr==7.2
- name: Configure
Expand Down
2 changes: 0 additions & 2 deletions .github/workflows/coverage-linux.yml
Original file line number Diff line number Diff line change
Expand Up @@ -62,8 +62,6 @@ jobs:
uses: Mozilla-Actions/sccache-action@7d986dd989559c6ecdb630a3fd2557667be217ad # v0.0.9
with:
version: v0.12.0
- name: Environment Information
run: npx envinfo
- name: Install gcovr
run: pip install gcovr==7.2
- name: Configure
Expand Down
2 changes: 0 additions & 2 deletions .github/workflows/coverage-windows.yml
Original file line number Diff line number Diff line change
Expand Up @@ -54,8 +54,6 @@ jobs:
python-version: ${{ env.PYTHON_VERSION }}
- name: Install deps
run: choco install nasm
- name: Environment Information
run: npx envinfo
- name: Build
run: ./vcbuild.bat
# TODO(bcoe): investigate tests that fail with coverage enabled
Expand Down
2 changes: 0 additions & 2 deletions .github/workflows/daily-wpt-fyi.yml
Original file line number Diff line number Diff line change
Expand Up @@ -42,8 +42,6 @@ jobs:
uses: actions/setup-python@83679a892e2d95755f2dac6acb0bfd1e9ac5d548 # v6.1.0
with:
python-version: ${{ env.PYTHON_VERSION }}
- name: Environment Information
run: npx envinfo

# install a version and checkout
- name: Get latest nightly
Expand Down
2 changes: 0 additions & 2 deletions .github/workflows/daily.yml
Original file line number Diff line number Diff line change
Expand Up @@ -22,8 +22,6 @@ jobs:
uses: actions/setup-node@395ad3262231945c25e8478fd5baf05154b1d79f # v6.1.0
with:
node-version: ${{ env.NODE_VERSION }}
- name: Environment Information
run: npx envinfo
- name: Build lto
run: |
sudo apt-get update && sudo apt-get install ninja-build -y
Expand Down
2 changes: 0 additions & 2 deletions .github/workflows/doc.yml
Original file line number Diff line number Diff line change
Expand Up @@ -31,8 +31,6 @@ jobs:
uses: actions/setup-node@395ad3262231945c25e8478fd5baf05154b1d79f # v6.1.0
with:
node-version: ${{ env.NODE_VERSION }}
- name: Environment Information
run: npx envinfo
- name: Build
run: NODE=$(command -v node) make doc-only
- uses: actions/upload-artifact@330a01c490aca151604b8cf639adc76d48f6c5d4 # v5.0.0
Expand Down
25 changes: 18 additions & 7 deletions .github/workflows/lint-release-proposal.yml
Original file line number Diff line number Diff line change
Expand Up @@ -28,13 +28,24 @@ jobs:
persist-credentials: false
fetch-depth: 2
- name: Lint release commit title format
id: commit-message-parse
run: |
EXPECTED_TITLE='^[[:digit:]]{4}-[[:digit:]]{2}-[[:digit:]]{2}, Version [[:digit:]]+\.[[:digit:]]+\.[[:digit:]]+ (\(Current|'.+' \(LTS)\)$'
VERSION=$(${CXX:-cc} -E -dM src/node_version.h | awk '
$2 == "NODE_MAJOR_VERSION" { maj = $3 }
$2 == "NODE_MINOR_VERSION" { min = $3 }
$2 == "NODE_PATCH_VERSION" { pat = $3 }
$2 == "NODE_VERSION_LTS_CODENAME" { gsub(/^"|"$/, "'"'"'",$3); lts = $3 }
END { if (maj) print maj "\\." min "\\." pat " " (lts != "'"''"'" ? lts " \\(LTS" : "\\(Current" ) "\\)" }
')
MAJOR=${VERSION%%\\.*}
EXPECTED_TITLE='^[[:digit:]]{4}-[[:digit:]]{2}-[[:digit:]]{2}, Version '"$VERSION"'$'
echo "Expected commit title format: $EXPECTED_TITLE"
COMMIT_SUBJECT="$(git --no-pager log -1 --format=%s)"
echo "Actual: $ACTUAL"
echo "Actual: $COMMIT_SUBJECT"
echo "$COMMIT_SUBJECT" | grep -q -E "$EXPECTED_TITLE"
echo "COMMIT_SUBJECT=$COMMIT_SUBJECT" >> "$GITHUB_ENV"

echo "COMMIT_SUBJECT=$COMMIT_SUBJECT" >> "$GITHUB_OUTPUT"
echo "MAJOR=$MAJOR" >> "$GITHUB_OUTPUT"
- name: Lint release commit message trailers
run: |
EXPECTED_TRAILER="^$GITHUB_SERVER_URL/$GITHUB_REPOSITORY/pull/[[:digit:]]+\$"
Expand All @@ -54,8 +65,6 @@ jobs:
SKIP_XZ=1 make release-only
- name: Lint release commit content
run: |
MAJOR="$(awk '/^#define NODE_MAJOR_VERSION / { print $3 }' src/node_version.h)"

echo "Checking for expected files in the release commit:"
missing_expected=
for expected in CHANGELOG.md src/node_version.h doc/changelogs/; do
Expand All @@ -73,14 +82,14 @@ jobs:
':(exclude)CHANGELOG.md' \
':(exclude)src/node_version.h' \
':(exclude)test/parallel/test-process-release.js' \
':(exclude)doc/abi_version_registry.json' \
':(exclude)doc/api/' \
":(exclude)doc/changelogs/CHANGELOG_V$MAJOR.md")" ]
":(exclude)doc/changelogs/")" ]
- name: Validate CHANGELOG
id: releaser-info
run: |
EXPECTED_CHANGELOG_TITLE_INTRO="## $COMMIT_SUBJECT, @"
echo "Expected CHANGELOG section title: $EXPECTED_CHANGELOG_TITLE_INTRO"
MAJOR="$(awk '/^#define NODE_MAJOR_VERSION / { print $3 }' src/node_version.h)"
CHANGELOG_PATH="doc/changelogs/CHANGELOG_V${MAJOR}.md"
CHANGELOG_TITLE="$(grep "$EXPECTED_CHANGELOG_TITLE_INTRO" "$CHANGELOG_PATH")"
echo "Actual: $CHANGELOG_TITLE"
Expand All @@ -105,4 +114,6 @@ jobs:
done
shell: bash # See https://docs.github.com/en/actions/writing-workflows/workflow-syntax-for-github-actions#exit-codes-and-error-action-preference, we want the pipefail option.
env:
COMMIT_SUBJECT: ${{ steps.commit-message-parse.outputs.COMMIT_SUBJECT }}
MAJOR: ${{ steps.commit-message-parse.outputs.MAJOR }}
GH_TOKEN: ${{ github.token }}
12 changes: 0 additions & 12 deletions .github/workflows/linters.yml
Original file line number Diff line number Diff line change
Expand Up @@ -32,8 +32,6 @@ jobs:
uses: actions/setup-node@395ad3262231945c25e8478fd5baf05154b1d79f # v6.1.0
with:
node-version: ${{ env.NODE_VERSION }}
- name: Environment Information
run: npx envinfo
- name: Lint addon docs
run: NODE=$(command -v node) make lint-addon-docs
lint-cpp:
Expand All @@ -47,8 +45,6 @@ jobs:
uses: actions/setup-python@83679a892e2d95755f2dac6acb0bfd1e9ac5d548 # v6.1.0
with:
python-version: ${{ env.PYTHON_VERSION }}
- name: Environment Information
run: npx envinfo
- name: Lint C/C++ files
run: make lint-cpp
format-cpp:
Expand All @@ -67,8 +63,6 @@ jobs:
uses: actions/setup-python@83679a892e2d95755f2dac6acb0bfd1e9ac5d548 # v6.1.0
with:
python-version: ${{ env.PYTHON_VERSION }}
- name: Environment Information
run: npx envinfo
- name: Format C/C++ files
run: |
make format-cpp-build
Expand Down Expand Up @@ -100,8 +94,6 @@ jobs:
uses: actions/setup-node@395ad3262231945c25e8478fd5baf05154b1d79f # v6.1.0
with:
node-version: ${{ env.NODE_VERSION }}
- name: Environment Information
run: npx envinfo
- name: Lint JavaScript files
run: |
set +e
Expand Down Expand Up @@ -159,8 +151,6 @@ jobs:
uses: actions/setup-python@83679a892e2d95755f2dac6acb0bfd1e9ac5d548 # v6.1.0
with:
python-version: ${{ env.PYTHON_VERSION }}
- name: Environment Information
run: npx envinfo
- name: Lint Python
run: |
make lint-py-build
Expand All @@ -182,8 +172,6 @@ jobs:
uses: actions/setup-python@83679a892e2d95755f2dac6acb0bfd1e9ac5d548 # v6.1.0
with:
python-version: ${{ env.PYTHON_VERSION }}
- name: Environment Information
run: npx envinfo
- name: Lint YAML
run: |
make lint-yaml-build || true
Expand Down
2 changes: 0 additions & 2 deletions .github/workflows/test-internet.yml
Original file line number Diff line number Diff line change
Expand Up @@ -57,8 +57,6 @@ jobs:
uses: Mozilla-Actions/sccache-action@7d986dd989559c6ecdb630a3fd2557667be217ad # v0.0.9
with:
version: v0.12.0
- name: Environment Information
run: npx envinfo
- name: Build
run: make build-ci -j4 V=1 CONFIG_FLAGS="--error-on-warn"
- name: Test Internet
Expand Down
2 changes: 0 additions & 2 deletions .github/workflows/test-linux.yml
Original file line number Diff line number Diff line change
Expand Up @@ -61,8 +61,6 @@ jobs:
uses: Mozilla-Actions/sccache-action@7d986dd989559c6ecdb630a3fd2557667be217ad # v0.0.9
with:
version: v0.12.0
- name: Environment Information
run: npx envinfo
- name: Build
run: make -C node build-ci -j4 V=1 CONFIG_FLAGS="--error-on-warn"
- name: Test
Expand Down
2 changes: 0 additions & 2 deletions .github/workflows/test-macos.yml
Original file line number Diff line number Diff line change
Expand Up @@ -65,8 +65,6 @@ jobs:
uses: Mozilla-Actions/sccache-action@7d986dd989559c6ecdb630a3fd2557667be217ad # v0.0.9
with:
version: v0.12.0
- name: Environment Information
run: npx envinfo
# The `npm ci` for this step fails a lot as part of the Test step. Run it
# now so that we don't have to wait 2 hours for the Build step to pass
# first before that failure happens. (And if there's something about
Expand Down
2 changes: 1 addition & 1 deletion .github/workflows/tools.yml
Original file line number Diff line number Diff line change
Expand Up @@ -306,7 +306,7 @@ jobs:
# no-op if the base branch is already up-to-date.
with:
token: ${{ secrets.GH_USER_TOKEN }}
branch: actions/tools-update-${{ matrix.id }} # Custom branch *just* for this Action.
branch: actions/${{ github.ref_name == 'main' || format('{0}/', github.ref_name) }}tools-update-${{ matrix.id }} # Custom branch *just* for this Action.
delete-branch: true
commit-message: ${{ env.COMMIT_MSG }}
labels: ${{ matrix.label }}
Expand Down
8 changes: 8 additions & 0 deletions .github/workflows/update-wpt.yml
Original file line number Diff line number Diff line change
Expand Up @@ -52,6 +52,14 @@ jobs:
- name: Update WPT for subsystem ${{ matrix.subsystem }}
run: |
git node wpt "$SUBSYSTEM"
# TODO: Remove this workaround after @node-core/utils stops
# regenerating test/fixtures/wpt/README.md for every subsystem
# update.
# git node wpt currently rewrites test/fixtures/wpt/README.md with a
# generated summary for every subsystem update. versions.json is the
# authoritative metadata, and keeping the README stable avoids
# conflicts between concurrent WPT update PRs.
git restore test/fixtures/wpt/README.md
env:
SUBSYSTEM: ${{ matrix.subsystem }}

Expand Down
3 changes: 2 additions & 1 deletion CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -37,7 +37,8 @@ release.
</tr>
<tr>
<td valign="top">
<b><a href="doc/changelogs/CHANGELOG_V22.md#22.23.2">22.23.2</a></b><br/>
<b><a href="doc/changelogs/CHANGELOG_V22.md#22.23.3">22.23.3</a></b><br/>
<a href="doc/changelogs/CHANGELOG_V22.md#22.23.2">22.23.2</a><br/>
<a href="doc/changelogs/CHANGELOG_V22.md#22.23.1">22.23.1</a><br/>
<a href="doc/changelogs/CHANGELOG_V22.md#22.23.0">22.23.0</a><br/>
<a href="doc/changelogs/CHANGELOG_V22.md#22.22.3">22.22.3</a><br/>
Expand Down
16 changes: 8 additions & 8 deletions Makefile
Original file line number Diff line number Diff line change
Expand Up @@ -1375,15 +1375,15 @@ binary: $(BINARYTAR) ## Build release binary tarballs.
# Note: this is strictly for release builds on release machines only.
binary-upload: binary
ssh $(STAGINGSERVER) "mkdir -p nodejs/$(DISTTYPEDIR)/$(FULLVERSION)"
chmod 664 $(TARNAME)-$(OSTYPE)-$(ARCH).tar.gz
scp -p $(TARNAME)-$(OSTYPE)-$(ARCH).tar.gz $(STAGINGSERVER):nodejs/$(DISTTYPEDIR)/$(FULLVERSION)/$(TARNAME)-$(OSTYPE)-$(ARCH).tar.gz
ssh $(STAGINGSERVER) "rclone copyto nodejs/$(DISTTYPEDIR)/$(FULLVERSION)/$(TARNAME)-$(OSTYPE)-$(ARCH).tar.gz $(CLOUDFLARE_BUCKET)/nodejs/$(DISTTYPEDIR)/$(FULLVERSION)/$(TARNAME)-$(OSTYPE)-$(ARCH).tar.gz"
ssh $(STAGINGSERVER) "touch nodejs/$(DISTTYPEDIR)/$(FULLVERSION)/$(TARNAME)-$(OSTYPE)-$(ARCH).tar.gz.done"
chmod 664 $(BINARYNAME).tar.gz
scp -p $(BINARYNAME).tar.gz $(STAGINGSERVER):nodejs/$(DISTTYPEDIR)/$(FULLVERSION)/$(BINARYNAME).tar.gz
ssh $(STAGINGSERVER) "rclone copyto nodejs/$(DISTTYPEDIR)/$(FULLVERSION)/$(BINARYNAME).tar.gz $(CLOUDFLARE_BUCKET)/nodejs/$(DISTTYPEDIR)/$(FULLVERSION)/$(BINARYNAME).tar.gz"
ssh $(STAGINGSERVER) "touch nodejs/$(DISTTYPEDIR)/$(FULLVERSION)/$(BINARYNAME).tar.gz.done"
ifeq ($(XZ), 1)
chmod 664 $(TARNAME)-$(OSTYPE)-$(ARCH).tar.xz
scp -p $(TARNAME)-$(OSTYPE)-$(ARCH).tar.xz $(STAGINGSERVER):nodejs/$(DISTTYPEDIR)/$(FULLVERSION)/$(TARNAME)-$(OSTYPE)-$(ARCH).tar.xz
ssh $(STAGINGSERVER) "rclone copyto nodejs/$(DISTTYPEDIR)/$(FULLVERSION)/$(TARNAME)-$(OSTYPE)-$(ARCH).tar.xz $(CLOUDFLARE_BUCKET)/nodejs/$(DISTTYPEDIR)/$(FULLVERSION)/$(TARNAME)-$(OSTYPE)-$(ARCH).tar.xz"
ssh $(STAGINGSERVER) "touch nodejs/$(DISTTYPEDIR)/$(FULLVERSION)/$(TARNAME)-$(OSTYPE)-$(ARCH).tar.xz.done"
chmod 664 $(BINARYNAME).tar.xz
scp -p $(BINARYNAME).tar.xz $(STAGINGSERVER):nodejs/$(DISTTYPEDIR)/$(FULLVERSION)/$(BINARYNAME).tar.xz
ssh $(STAGINGSERVER) "rclone copyto nodejs/$(DISTTYPEDIR)/$(FULLVERSION)/$(BINARYNAME).tar.xz $(CLOUDFLARE_BUCKET)/nodejs/$(DISTTYPEDIR)/$(FULLVERSION)/$(BINARYNAME).tar.xz"
ssh $(STAGINGSERVER) "touch nodejs/$(DISTTYPEDIR)/$(FULLVERSION)/$(BINARYNAME).tar.xz.done"
endif

.PHONY: bench-all
Expand Down
3 changes: 3 additions & 0 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -805,6 +805,8 @@ Primary GPG keys for Node.js Releasers (some Releasers sign with subkeys):
`C82FA3AE1CBEDC6BE46B9360C43CEC45C17AB93C`
* **Ruy Adorno** <<ruyadorno@hotmail.com>>
`108F52B48DB57BB0CC439B2997B01419BD92F80A`
* **Stewart X Addison** <<sxa@ibm.com>>
`655F3B5C1FB3FA8D1A0CA6BDE4A7D232B936D2FD`
* **Ulises Gascón** <<ulisesgascongonzalez@gmail.com>>
`A363A499291CBBC940DD62E41F10027AF002F8B0`

Expand All @@ -822,6 +824,7 @@ gpg --keyserver hkps://keys.openpgp.org --recv-keys 8FCCA13FEF1D0C2E91008E09770F
gpg --keyserver hkps://keys.openpgp.org --recv-keys 890C08DB8579162FEE0DF9DB8BEAB4DFCF555EF4 # Rafael Gonzaga
gpg --keyserver hkps://keys.openpgp.org --recv-keys C82FA3AE1CBEDC6BE46B9360C43CEC45C17AB93C # Richard Lau
gpg --keyserver hkps://keys.openpgp.org --recv-keys 108F52B48DB57BB0CC439B2997B01419BD92F80A # Ruy Adorno
gpg --keyserver hkps://keys.openpgp.org --recv-keys 655F3B5C1FB3FA8D1A0CA6BDE4A7D232B936D2FD # Stewart X Addison
gpg --keyserver hkps://keys.openpgp.org --recv-keys A363A499291CBBC940DD62E41F10027AF002F8B0 # Ulises Gascón
```

Expand Down
2 changes: 1 addition & 1 deletion common.gypi
Original file line number Diff line number Diff line change
Expand Up @@ -38,7 +38,7 @@

# Reset this number to 0 on major V8 upgrades.
# Increment by one for each non-official patch applied to deps/v8.
'v8_embedder_string': '-node.56',
'v8_embedder_string': '-node.57',

##### V8 defaults for Node.js #####

Expand Down
29 changes: 27 additions & 2 deletions deps/cares/CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -12,7 +12,7 @@ INCLUDE (CheckCSourceCompiles)
INCLUDE (CheckStructHasMember)
INCLUDE (CheckLibraryExists)

PROJECT (c-ares LANGUAGES C VERSION "1.34.6" )
PROJECT (c-ares LANGUAGES C VERSION "1.34.8" )

# Set this version before release
SET (CARES_VERSION "${PROJECT_VERSION}")
Expand All @@ -30,7 +30,7 @@ INCLUDE (GNUInstallDirs) # include this *AFTER* PROJECT(), otherwise paths are w
# For example, a version of 4:0:2 would generate output such as:
# libname.so -> libname.so.2
# libname.so.2 -> libname.so.2.2.0
SET (CARES_LIB_VERSIONINFO "21:5:19")
SET (CARES_LIB_VERSIONINFO "21:7:19")


OPTION (CARES_STATIC "Build as a static library" OFF)
Expand All @@ -43,6 +43,7 @@ OPTION (CARES_BUILD_TOOLS "Build tools"
OPTION (CARES_SYMBOL_HIDING "Hide private symbols in shared libraries" OFF)
OPTION (CARES_THREADS "Build with thread-safety support" ON)
OPTION (CARES_COVERAGE "Build for code coverage" OFF)
OPTION (CARES_WERROR "Treat compiler warnings on the c-ares library as errors" OFF)
SET (CARES_RANDOM_FILE "/dev/urandom" CACHE STRING "Suitable File / Device Path for entropy, such as /dev/urandom")

# Tests require static to be enabled on Windows to be able to access otherwise hidden symbols
Expand All @@ -54,6 +55,30 @@ ENDIF ()

INCLUDE (EnableWarnings)

# Optionally treat warnings as errors for the c-ares library itself. This is
# applied per-target (see cares_set_werror() usage) rather than globally so it
# does not affect the test/fuzz harnesses (which carry their own warnings) or
# CMake's own compiler feature checks. Enabled in CI only on toolchains known
# to be free of spurious warnings at our high warning levels.
FUNCTION (cares_set_werror target)
IF (NOT CARES_WERROR)
RETURN ()
ENDIF ()
IF (MSVC)
TARGET_COMPILE_OPTIONS (${target} PRIVATE /WX)
ELSE ()
TARGET_COMPILE_OPTIONS (${target} PRIVATE -Werror)
# Modern libc headers (e.g. glibc <string.h>) use the C11 _Generic
# keyword for const-correctness of strchr()/memchr()/etc. Clang flags
# that as a C11 extension under our C90 + -Wpedantic build even though it
# originates in a system header at our call sites. It is not something
# we can fix in our own code, so warn but do not fail on it.
IF (CMAKE_C_COMPILER_ID MATCHES "Clang")
TARGET_COMPILE_OPTIONS (${target} PRIVATE -Wno-error=c11-extensions)
ENDIF ()
ENDIF ()
ENDFUNCTION ()

IF (MSVC)
# allow linking against the static runtime library in msvc
OPTION (CARES_MSVC_STATIC_RUNTIME "Link against the static runtime library" OFF)
Expand Down
4 changes: 2 additions & 2 deletions deps/cares/README.md
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
# [![c-ares logo](https://c-ares.org/art/c-ares-logo.svg)](https://c-ares.org/)

[![Build Status](https://api.cirrus-ci.com/github/c-ares/c-ares.svg?branch=main)](https://cirrus-ci.com/github/c-ares/c-ares)
[![Windows Build Status](https://ci.appveyor.com/api/projects/status/aevgc5914tm72pvs/branch/main?svg=true)](https://ci.appveyor.com/project/c-ares/c-ares/branch/main)
[![Build Status](https://github.com/c-ares/c-ares/actions/workflows/ubuntu-latest.yml/badge.svg?branch=main)](https://github.com/c-ares/c-ares/actions/workflows/ubuntu-latest.yml)
[![Windows Build Status](https://github.com/c-ares/c-ares/actions/workflows/windows.yml/badge.svg?branch=main)](https://github.com/c-ares/c-ares/actions/workflows/windows.yml)
[![Coverage Status](https://coveralls.io/repos/github/c-ares/c-ares/badge.svg?branch=main)](https://coveralls.io/github/c-ares/c-ares?branch=main)
[![CII Best Practices](https://bestpractices.coreinfrastructure.org/projects/291/badge)](https://bestpractices.coreinfrastructure.org/projects/291)
[![Fuzzing Status](https://oss-fuzz-build-logs.storage.googleapis.com/badges/c-ares.svg)](https://bugs.chromium.org/p/oss-fuzz/issues/list?sort=-opened&can=1&q=proj:c-ares)
Expand Down
Loading
Loading