From d3bead5e0edb3df5205675e27e0a8fc9dbd6fd74 Mon Sep 17 00:00:00 2001 From: Niklas Wenzel Date: Mon, 3 Feb 2025 22:19:26 +0100 Subject: [PATCH] docs: mention C++20 requirement in breaking changes document (#45413) * docs: mention C++20 requirement in breaking changes document * chore: fix linter issue --- docs/breaking-changes.md | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/docs/breaking-changes.md b/docs/breaking-changes.md index 67862f71f874..8e92ef21ff50 100644 --- a/docs/breaking-changes.md +++ b/docs/breaking-changes.md @@ -145,6 +145,16 @@ macOS 10.15 (Catalina) is no longer supported by [Chromium](https://chromium-rev Older versions of Electron will continue to run on Catalina, but macOS 11 (Big Sur) or later will be required to run Electron v33.0.0 and higher. +### Behavior Changed: Native modules now require C++20 + +Due to changes made upstream, both +[V8](https://chromium-review.googlesource.com/c/v8/v8/+/5587859) and +[Node.js](https://github.com/nodejs/node/pull/45427) now require C++20 as a +minimum version. Developers using native node modules should build their +modules with `--std=c++20` rather than `--std=c++17`. Images using gcc9 or +lower may need to update to gcc10 in order to compile. See +[#43555](https://github.com/electron/electron/pull/43555) for more details. + ### Deprecated: `systemPreferences.accessibilityDisplayShouldReduceTransparency` The `systemPreferences.accessibilityDisplayShouldReduceTransparency` property is now deprecated in favor of the new `nativeTheme.prefersReducedTransparency`, which provides identical information and works cross-platform.