В Electron 45.2.1 обновили Chromium до версии 156.0.8078.75 и перенесли три исправления, затрагивающих внутреннюю обработку меню и данных. Релиз появился 30–31 октября 2026 года вслед за Electron 45.2.0, который расширил поддержку браузерных расширений, добавил настройку меню Windows и исправил сохранение файлов в инструментах разработчика. Вместе эти выпуски меняют несколько конкретных сценариев работы настольных приложений на Electron.

Chromium 156.0.8078.75 исправляет обработку меню и записей базы данных
В Electron 45.2.1 версия встроенного Chromium выросла с 156.0.8078.49 до 156.0.8078.75. Chromium отвечает за отображение веб-интерфейса внутри настольной программы, поэтому его обновления затрагивают приложения даже в тех случаях, когда разработчики не меняют собственный JavaScript-код.
Отдельным переносом из Chromium включили три исправления. Два относятся к объекту MenuRunnerImpl: при закрытии меню его уничтожение откладывается, а повторное планирование этой операции исключается. Третья правка меняет порядок удаления записей из базы данных: запись сохраняется до завершения работы итератора, который просматривает базу. Так устраняются ситуации, когда внутренние объекты могут быть освобождены во время операции, которая ещё использует их.
У обновления есть и контекст безопасности. В конце октября Google выпускала исправления уязвимостей Chromium, а перенос трёх патчей в Electron прошёл через механизм electron-security-backports. При этом в примечаниях к Electron 45.2.1 нет перечня CVE, однозначно привязанных к этому выпуску. Более того, 29 октября Chrome уже получил сборки 156.0.8078.79/.80, тогда как Electron использует 156.0.8078.75. По одним лишь номерам версий нельзя считать наборы исправлений Chrome и Electron полностью одинаковыми.
chrome.storage.sync теперь доступен расширениям Electron, но данные остаются на устройстве
Самое заметное функциональное изменение серии 45.2 появилось в Electron 45.2.0. Расширения Chromium получили поддержку chrome.storage.sync — API для хранения собственных настроек и небольших объёмов данных. Раньше обращения к нему завершались ошибкой "sync" is not available in this instance of Chrome, поскольку в Electron отсутствовало соответствующее хранилище.
Теперь вызовы этого API работают, но привычное для Chrome слово sync здесь может запутать. Синхронизации между компьютерами в Electron нет. Данные сохраняются локально, в отдельном хранилище от chrome.storage.local. Поэтому расширение, которое записывает параметры через chrome.storage.sync, сможет использовать их в рамках своего приложения и профиля, но автоматический перенос на другое устройство не появится.
Реализация сохраняет ограничения Chromium: до 102 400 байт (100 КиБ) суммарно, до 8 192 байт (8 КиБ) на одну запись и максимум 512 элементов. Это важно для расширений, созданных прежде всего для Chrome: код, ожидающий наличия chrome.storage.sync, теперь получает рабочий API, хотя его сетевое поведение отличается.
Меню Windows можно оформлять, а DevTools корректнее сохраняет файлы
В Electron 45.2.0 появился метод Menu.setHighlightColors() для Windows. Он позволяет задавать цвет фона и текста у выбранного пункта меню — например, когда пользователь наводит курсор или перемещается по меню с клавиатуры. Раньше такой отдельной настройки в этом API не было. При включённых режимах высокой контрастности и принудительных системных цветов пользовательские цвета пропускаются, чтобы сохранить системные настройки доступности.
Исправили и работу сохранения из DevTools — встроенных инструментов, в которых разработчики просматривают и отлаживают веб-часть программы. Команда Save раньше могла каждый раз открывать диалог выбора расположения файла, даже если путь уже был известен. Save As в некоторых случаях продолжала использовать старый путь. На Linux отмена сохранения могла ошибочно восприниматься как успешная операция. В серии 45.2 эти сценарии исправлены.
net.fetch() выполняет меньше лишних операций при обращении к файлам
Ещё одна правка Electron 45.2.0 касается net.fetch(), через который приложение отправляет запросы с использованием сетевого стека Electron. До обновления внутренний адаптер потока создавался даже для запросов без тела — например, когда программе нужно просто получить ресурс.
Теперь создание адаптера пропускается, если передавать данные в теле запроса не требуется. В тесте разработчиков, воспроизводившем загрузку рабочего интерфейса VS Code через protocol.handle() и net.fetch() с адресами file:, время загрузки сократилось примерно на 3%. Это результат конкретного тестового сценария, а не обещание такого же ускорения для каждого приложения.
Отдельно в версии 45.2.0 оптимизировали повторные обращения net.fetch() к адресам file:. Оба изменения относятся к внутренней работе Electron и могут проявляться в приложениях, которые активно загружают локальные ресурсы через этот API.
Серия 45.2 развивает исправления Electron 45.1.0
Предыдущий выпуск 45.1.0 устранял ошибки расширений Manifest V3, проблемы доступа к файлам и некоторые аварийные завершения приложений. В серии 45.2 акцент сместился на совместимость расширений с chrome.storage.sync, оформление меню Windows, операции сохранения в DevTools и накладные расходы при загрузке ресурсов. Версия 45.2.1 добавила к этим изменениям более свежий Chromium и три перенесённых исправления его внутреннего кода.
Описанные возможности становятся доступны в конкретной настольной программе после того, как её разработчики включат соответствующую версию Electron в сборку. Из примечаний к выпуску нельзя определить, какие приложения уже перешли на 45.2.1 и насколько часто пользователи сталкивались с исправленными сценариями.
Источники
- Electron — примечания к выпуску 45.2.1
- Electron — примечания к выпуску 45.2.0
- GitHub — три перенесённых исправления Chromium, PR #55523
- GitHub — поддержка chrome.storage.sync, PR #55253
- GitHub — настройка цвета меню Windows, PR #55493
- GitHub — исправления сохранения в DevTools, PR #55485
- GitHub — оптимизация net.fetch(), PR #55446
- Google Chrome — обновление стабильной ветки от 29 октября 2026 года