diff --git a/tools/gyp/CHANGELOG.md b/tools/gyp/CHANGELOG.md index 74dbc82832719c..31f4d258746885 100644 --- a/tools/gyp/CHANGELOG.md +++ b/tools/gyp/CHANGELOG.md @@ -1,5 +1,12 @@ # Changelog +## [0.21.0](https://github.com/nodejs/gyp-next/compare/v0.20.5...v0.21.0) (2025-11-04) + + +### Features + +* add support for Visual Studio 2026 ([#319](https://github.com/nodejs/gyp-next/issues/319)) ([cb13bbc](https://github.com/nodejs/gyp-next/commit/cb13bbc4ab7a7d86b51221b39ebee4281e1d3e19)) + ## [0.20.5](https://github.com/nodejs/gyp-next/compare/v0.20.4...v0.20.5) (2025-10-13) diff --git a/tools/gyp/pylib/gyp/MSVSVersion.py b/tools/gyp/pylib/gyp/MSVSVersion.py index 09baf44b2b0f8a..2d8e4ceab9a94c 100644 --- a/tools/gyp/pylib/gyp/MSVSVersion.py +++ b/tools/gyp/pylib/gyp/MSVSVersion.py @@ -270,6 +270,18 @@ def _CreateVersion(name, path, sdk_based=False): if path: path = os.path.normpath(path) versions = { + "2026": VisualStudioVersion( + "2026", + "Visual Studio 2026", + solution_version="12.00", + project_version="18.0", + flat_sln=False, + uses_vcxproj=True, + path=path, + sdk_based=sdk_based, + default_toolset="v145", + compatible_sdks=["v8.1", "v10.0"], + ), "2022": VisualStudioVersion( "2022", "Visual Studio 2022", @@ -462,6 +474,7 @@ def _DetectVisualStudioVersions(versions_to_check, force_express): "15.0": "2017", "16.0": "2019", "17.0": "2022", + "18.0": "2026", } versions = [] for version in versions_to_check: @@ -537,7 +550,18 @@ def SelectVisualStudioVersion(version="auto", allow_fallback=True): if version == "auto": version = os.environ.get("GYP_MSVS_VERSION", "auto") version_map = { - "auto": ("17.0", "16.0", "15.0", "14.0", "12.0", "10.0", "9.0", "8.0", "11.0"), + "auto": ( + "18.0", + "17.0", + "16.0", + "15.0", + "14.0", + "12.0", + "10.0", + "9.0", + "8.0", + "11.0", + ), "2005": ("8.0",), "2005e": ("8.0",), "2008": ("9.0",), @@ -552,6 +576,7 @@ def SelectVisualStudioVersion(version="auto", allow_fallback=True): "2017": ("15.0",), "2019": ("16.0",), "2022": ("17.0",), + "2026": ("18.0",), } if override_path := os.environ.get("GYP_MSVS_OVERRIDE_PATH"): msvs_version = os.environ.get("GYP_MSVS_VERSION") diff --git a/tools/gyp/pyproject.toml b/tools/gyp/pyproject.toml index adc82c3350151f..cd4f0383fd37c7 100644 --- a/tools/gyp/pyproject.toml +++ b/tools/gyp/pyproject.toml @@ -4,7 +4,7 @@ build-backend = "setuptools.build_meta" [project] name = "gyp-next" -version = "0.20.5" +version = "0.21.0" authors = [ { name="Node.js contributors", email="ryzokuken@disroot.org" }, ]