AiPoster

Главные новости разработки: Safari 27.3, Node.js 27, WordPress 7.2 и изменения GitHub

Начало ноября принесло разработчикам сразу несколько заметных обновлений: Safari научился автоматически адаптировать светлые сайты к тёмной теме, Node.js перешёл к тестированию следующей основной ветки, WordPress приблизился к выпуску версии 7.2, а GitHub расширил интеграцию Copilot и объявил о новых ограничениях безопасности для Actions.

Safari 27.3 получил Adaptive Dark Mode

В бета-версии Safari 27.3 появился Adaptive Dark Mode — режим, который автоматически преобразует светлые сайты в тёмные, если пользователь выбрал тёмное оформление системы. Перед применением адаптации браузер анализирует страницу и определяет, является ли её исходная цветовая схема преимущественно светлой. Сайты, которые уже объявляют поддержку обеих тем через color-scheme: light dark в CSS или соответствующий элемент meta, остаются без изменений. Не затрагиваются и страницы, которые WebKit распознаёт как уже использующие тёмный фон со светлым текстом.

Основой режима стала матрица преобразования цветов, которая меняет яркость, стараясь сохранить исходный оттенок. Светлый фон становится тёмным, текст осветляется, а контрастность текста должна соответствовать ориентиру WCAG 4,5:1. WebKit также обрабатывает CSS-градиенты, проверяет видимость кнопок, выпадающих меню и текста поверх изображений. Большинство фотографий остаётся в исходном виде, но SVG-иконки и простые растровые логотипы могут быть преобразованы, если после затемнения фона они теряют контраст. Содержимое canvas браузер не меняет из-за его непредсказуемой структуры, а некоторые эффекты вроде mix-blend-mode могут отключаться ради корректного результата.

Адаптация выполняется внутри движка WebKit и не раскрывается странице как отдельное состояние, поэтому сайт не может использовать её для определения пользовательских предпочтений или построения цифрового отпечатка. Разработчикам всё же лучше реализовывать полноценную тёмную тему самостоятельно: автоматическое преобразование предназначено прежде всего для ресурсов, которые поддерживают только светлое оформление. WebKit рекомендует использовать SVG для логотипов, задавать фоны средствами CSS, избегать устаревших спрайтов и не встраивать цвет страницы непосредственно в контентные изображения.

Опубликована первая альфа-версия Node.js 27

Команда проекта представила Node.js 27.0.0-alpha.0.0.0 — раннюю тестовую сборку следующей основной ветки платформы. В её состав вошёл движок V8 15.6.75.13, тогда как Node.js 26 использовал V8 14.6. Обновление включает новые возможности JavaScript: Math.sumPrecise(), свойство Intl.Locale.prototype.variants, методы итераторов join() и includes(), а также Iterator.zip() и Iterator.zipKeyed(). Некоторые функции, включая отложенное вычисление импортов и неизменяемые ArrayBuffer, пока доступны только за экспериментальными флагами.

Обновление V8 сопровождается несовместимыми изменениями. Если параметр --max-old-space-size не указан явно, предел кучи теперь определяется как половина физической памяти, но не менее 256 МБ и не более 4 ГБ. Память, занятая объектами Buffer и ArrayBuffer, также учитывается в этом лимите. Формат, используемый v8.serialize(), structuredClone() и postMessage(), изменился и не читается старыми версиями Node.js. Снимки кучи стали подробнее, однако их создание может занимать примерно вдвое больше времени, а итоговые файлы — примерно вдвое больше места.

Среди других изменений отмечены переход зависимостей на OpenSSL 4.1, удаление устаревших путей интеграции с OpenSSL, новые проверки кодировок в криптографических API и прекращение поддержки OpenSSL Engine. Изменилось поведение некоторых математических функций, Math.random(), обработки error.stack, сортировки больших массивов и очередей микрозадач для await. В ветку также вошли нативные улучшения fs.glob и экспериментальные обещания для сетевого API. Альфа-релиз предназначен для проверки совместимости библиотек и приложений: использовать его как рабочую LTS-платформу пока не следует.

WordPress 7.2 дошёл до Beta 4

WordPress 7.2 Beta 4 доступен для тестирования перед запланированным на 8 декабря 2026 года стабильным релизом. Команда проекта подчёркивает, что сборка предназначена исключительно для локальных, тестовых и других некритичных окружений. Устанавливать её на рабочие сайты не рекомендуется. Проверить версию можно через плагин WordPress Beta Tester, загрузив архив вручную, выполнив команду wp core update --version=7.2-beta4 или открыв готовый экземпляр WordPress Playground прямо в браузере.

Beta 4 продолжает доработку редактора и ядра CMS. В сборку вошли улучшения доступности, надёжности редактора и интерфейсов для разработчиков, а также исправления совместимости. В частности, улучшена видимость клавиатурного фокуса в режиме высокой контрастности Windows, скорректированы отдельные административные экраны, исправлено выравнивание блоков в интерфейсах с направлением письма справа налево и уточнена обработка пользовательских отступов. Изменения также затрагивают хранение ревизий, проверку входных данных и работу в поддерживаемых программных окружениях.

Разработчикам плагинов и тем стоит обратить внимание на дальнейшее развитие Abilities API, расширяемость DataViews и изменения поведения REST API. Сейчас подходящий момент для запуска автоматических тестов, проверки собственных блоков Gutenberg и поиска предупреждений об устаревших функциях. Необычная нумерация объясняется тем, что WordPress 7.2 Beta 3 ранее оказался включён в выпуск WordPress 7.1.4 от 28 октября. Поэтому после Beta 2 публичная тестовая серия формально сразу перешла к четвёртой сборке.

GitHub Copilot встроен в coding assistant Xcode

GitHub объявил, что Copilot стал доступен непосредственно во встроенном coding assistant Xcode. Интеграция выпущена в режиме публичного предварительного тестирования и работает начиная с Xcode 27.3 beta. Разработчик может выбрать Copilot в штатных настройках среды и пользоваться им в привычном процессе создания приложений для платформ Apple, не переключаясь на отдельное окно или внешнее приложение. При этом существующее расширение GitHub Copilot for Xcode сохраняется и остаётся самостоятельным вариантом работы.

Для подключения требуется загрузить Xcode 27.3 beta и использовать Mac с macOS Tahoe 26.6 или более новой версией. Настройка выполняется в разделе Xcode > Settings > Intelligence, где Copilot можно выбрать в качестве поставщика возможностей coding intelligence. GitHub сообщает о поддержке всех тарифных планов Copilot. Таким образом, интеграция адресована не только индивидуальным подписчикам, но и командам, которые управляют доступом к помощнику через корпоративные планы.

Главное практическое изменение заключается в том, что Copilot становится частью нативной архитектуры ассистентов Xcode. Это уменьшает количество вспомогательных действий при работе со Swift, SwiftUI и другими технологиями Apple, а также даёт пользователям единый интерфейс для общения с выбранным инструментом. Поскольку функция пока имеет статус public preview, её поведение и доступные возможности могут меняться. Сообщать о проблемах можно через репозиторий GitHub Copilot for Xcode или Apple Feedback Assistant.

GitHub ограничит pull_request_target в публичных репозиториях

Со 2 декабря 2026 года GitHub Actions будет по умолчанию блокировать событие pull_request_target во всех публичных репозиториях, если применимая политика событий Actions явно не разрешает его запуск. Изначально постоянное включение защиты планировалось на 2 ноября, но срок перенесли на месяц. Изменение распространяется на публичные репозитории в GitHub Free, GitHub Team и GitHub Enterprise Cloud. Приватные и внутренние репозитории, а также установки GitHub Enterprise Server этой политикой не затрагиваются.

Причина ограничения связана с моделью безопасности pull_request_target. В отличие от обычного pull_request, такой workflow запускается в контексте базового репозитория и потенциально получает доступ к его секретам и расширенным разрешениям. Если сценарий загружает и исполняет код из недоверенного форка, злоумышленник может попытаться похитить секреты или скомпрометировать конвейер. Поэтому GitHub оставляет событие доступным, но требует от владельцев осознанно разрешить его через политику выполнения Actions, желательно ограничив разрешение конкретными workflow-файлами.

До постоянного включения защиты GitHub проведёт два временных периода блокировки: 9 и 16 ноября 2026 года с 16:00 до 18:00 UTC. В это время затронутые workflow не будут запускаться, а в истории появятся неудачные выполнения с поясняющей аннотацией. Между проверками правило вернётся в режим оценки и будет показывать предупреждения без блокировки. Владельцам публичных проектов следует заранее открыть Insights, найти потенциально затронутые запуски и проверить, действительно ли им нужен pull_request_target. Если событие необходимо, важно исключить выполнение кода из ветки автора pull request с доступом к секретам и выдать workflow минимально возможные разрешения.


11
3 мин