Представлен кандидат в релизы GNOME 49 - последний тестовый выпуск перед релизом, запланированным на 17 сентября. Опубликованный тестовый выпуск примечателен откатом ранее внесённого изменения, отключавшего по умолчанию компиляцию компонентов для поддержки X11 в дисплейном менеджере GDM (GNOME Display Manager).
Изначально в GNOME 49 намеревались отключить в GDM поддержку X11 по умолчанию, но оставить возможность запуска десктоп-окружений на базе X11 и сохранить связанный с X11 код для опционального возвращения поддержки X11 в дистрибутивах. Возвращение поддержки X11 в GDM объясняется трудностью разделения в GDM возможности запускать современные X11-сеансы от использования X11 в самом GDM, например, поддержки XDMCP, устаревших сеансов x11 и непользовательских сеансов x11.
Реализованная для отключения X11 сборочная опция "x11-support" отключала всю поддержку X11, включая и возможность запуска десктоп-окружений на базе X11, так как отключался и код обработки сеансов в /usr/share/xsessions. Была предпринята попытка вывести код обработки сеансов X11 из действия сборочной опции "x11-support", но она оказалась неудачной из-за пересечений с другим X11-кодом и выглядела как грязный хак.
В итоге решено в GNOME 49 сохранить в GDM полную поддержку X11 по умолчанию, но в GNOME 50 не отключать по умолчанию, а удалить код для поддержки X11, оставив только его часть, необходимую для запуска сеансов X11. Таким образом опция "x11-support" в GNOME 50 будет отключать в GDM сборку кода для запуска сеансов X11 и сможет применяться в дистрибутивах, использующих только Wayland.
Мэтью Косарек (Matthew Kosarek), разработчик из компании Canonical, опубликовал выпуск композитного менеджера miracle-wm 0.7, использующего протокол Wayland и компоненты для построения композитных менеджеров Mir. Miracle-wm поддерживает мозаичную (tiling) компоновку окон, схожую с аналогичной в проектах i3 и Sway. В качестве панели может применяться Waybar. Код проекта написан на языке C++ и распространяется под лицензией GPLv3. Готовые сборки сформированы в формате snap, а также в пакетах rpm и deb для Fedora и Ubuntu.
Целью miracle-wm является создание композитного сервера, применяющего мозаичное управление окнами, но более функционального и стильного, чем такие продукты, как Swayfx. При этом проект позволяет использовать и классические приёмы работы с плавающими окнами, например, можно размещать отдельные окна поверх мозаичной сетки или закреплять окна к определённому месту на рабочем столе. Поддерживается виртуальные рабочие столы с возможностью выставления для каждого рабочего стола своего режима работы с окнами по умолчанию (мозаичная компоновка или плавающие окна).
Предполагается, что miracle-wm может оказаться полезным пользователям, которые отдают предпочтение мозаичной компоновке, но желают получить визуальные эффекты и более яркое графическое оформление с плавными переходами и цветами. Конфигурация определяется в формате YAML. Для установки miracle-wm можно использовать команду "sudo snap install miracle-wm --classic".
Основные новшества:
Доведён до готовности IPC-интерфейс, совместимый с IPC-протоколом оконного менеджера i3 и композитного менеджера Sway. Протокол позволяет управлять работой и взаимодействовать с композитным менеджером. Реализованы все задуманные возможности IPC и улучшена совместимость со сторонними проектами, поддерживающими IPC i3/Sway, такими как панель waybar и графическая оболочка nwg-shell. Реализованы новые команды 'gaps', 'nop', 'move container' и 'move workspace', добавлена поддержка модификатора "for_window". Добавлена документация по каждой IPC-команде и реализованы тесты корректности реализации команд.
Добавлена поддержка настройки параметров мыши, таких как скорость прокрутки, зеркалирование действий левой и правой кнопки и
выставление соотношения скорости движения курсора и скорости перемещения мыши. Для определения настроек в ~/.config/miracle-wm.yaml предложена новая секция "mouse:".
Добавлены настройки клавиатуры, позволяющие выбрать раскладку клавиатуры, тип клавиатуры и параметры генерации повторного нажатия при удержании клавиши. По умолчанию загружается конфигурация из локали locale1.
Библиотеки для построения композитных сереверов Mir обновлены до версии 2.22, опубликованной на прошлой неделе. В новой версии Mir добавлена реализация Wayland-протокола "drm-syncobj" для явной синхронизации буферов при помощи объектов синхронизации DRM (Direct Rendering Manager). Реализована возможность изменения конфигурации на лету. Улучшена поддержка систем с видеокартами NVIDIA. Началась интеграция кода, написанного на языке Rust (сборка компонентов на Rust является опциональной).
Компания Google опубликовала релиз web-браузера Chrome 140. Одновременно доступен стабильный выпуск свободного проекта Chromium, выступающего основой Chrome. Браузер Chrome отличается от Chromium использованием логотипов Google, наличием системы отправки уведомлений в случае краха, модулями для воспроизведения защищённого от копирования видеоконтента (DRM), системой автоматической установки обновлений, постоянным включением Sandbox-изоляции, поставкой ключей к Google API и передачей RLZ-параметров при поиске. Для тех, кому необходимо больше времени на обновление, отдельно поддерживается ветка Extended Stable, сопровождаемая 8 недель. Следующий выпуск Chrome 141 запланирован на 30 сентября.
Для усиления защиты от отслеживания перемещения между сайтами в режиме инкогнито реализована возможность скрытия сведений об IP-адресе пользователя в сторонних контекстах (например, для страниц, загружаемых через iframe). Скрытие применяется только для доменов, присутствующих в списке MDL (Masked Domain List), и реализовано через отправку запроса не напрямую, а через прокси-сервер Google. Соответственно, сайт увидит в качестве входящего IP-адреса адрес прокси, а не пользователя.
Для получения выборочной информации об IP-адресах пользователей при включении в браузере режима защиты IP-адресов, отправляющем запросы через транзитный прокси, реализован механизм PRT (Probabilistic Reveal Token). PRT подразумевает отправку заголовка с зашифрованным токеном, позволяющим получить случайную урезанную выборку реальных IP-адресов клиентов, обращавшихся к заданному домену, но не привязанных к конкретным запросам.
Часть PRT-токенов содержит информацию о реальном IP, а часть нет, и определить содержимое токена можно только после истечения определённого времени, расшифровав их ключом, выданным Google после отдельного запроса. Подобная информация об IP-адресах может использоваться в системах защиты от мошенников и для анализа качества web-трафика.
В режиме инкогнито реализован механизм "Script Blocking", выборочно блокирующий доступ к некоторым JavaScript API, которые можно использовать для скрытой идентификации пользователя. Например, как дополнительный признак для идентификации могут учитываться различия в отрисовке разными браузерами изображений через API Canvas. Блокировка осуществляется только для стороннего контента (например, встроенного на страницу через теги iframe или script) при выявлении активности, специфичной для скрытой идентификации, и для доменов из чёрного списка MDL (Masked Domain List), уличённых в скрытой идентификации.
Включён режим OverrideDefaultOzonePlatformHintToAuto для автоматического выбора бэкенда в прослойке Ozone, абстрагирующей взаимодействие с графической подсистемой. Изменение позволяет адаптивно активировать Wayland-бэкенд на системах с поддержкой Wayland, не привязываясь по умолчанию с бэкенду X11.
Включена функция автоматической смены пароля, основанная на использовании AI. Если пароль присутствует в известных базах скомпрометированных учётных записей, то при попытке входа c данным паролем на сайт Chrome выведет предупреждение с предложением изменить пароль. При согласии браузер сгенерирует стойкий к подбору пароль, сменит пароль на сайте (сам заполнит и отправит нужные web-формы) и сохранит новый пароль в менеджере паролей.
Добавлена оптимизация DSE Prewarming (Default Search Engine Prewarming) для ускорения открытия страницы с результатами поиска после выполнения запроса через адресную строку. При включении DSE Prewarming сразу после перехода фокуса ввода на адресую строку осуществляется пререндеринг макета страницы с результатами поиска и загрузка необходимых для этой страницы ресурсов. Загруженные ресурсы также используются для ускорения следующих запросов. Возможность пока активирована по умолчанию только для части пользователей.
Расширены средства автозаполнения форм, которые задействуют AI-модель для понимания web-формы и автоматического заполнения полей, отталкиваясь от того, как ранее пользователь заполнял похожие формы.
Настройка "Autofill with AI" переименована в "Enhanced autofill". В новой версии расширено число стран и языков, для которых доступна функция, а также добавлена поддержка дополнительных типов информации.
Для пользователей из США активирован встроенный в браузер чат-бот Gemini, который может пояснять содержимое просматриваемой страницы и отвечать на связанные со страницей вопросы, не переключаясь с текущей вкладки. Поддерживается текстовое и голосовое взаимодействие с Gemini.
В дальнейшем планируется включения чат-бота и для пользователей из других стран.
Для всех пользователей включена возможность присоединения к уже созданным группам совместных вкладок, с которыми одновременно могут работать несколько пользователей. Поддержка создания групп пока доступна только для пользователей тестовых сборок (Beta/Dev/Canary), подразумевается, что они могут создать набор вкладок и поделиться им с другими пользователями, которые будут видеть те же вкладки на своих устройствах. В случае, если кто-то из участников поменяет вкладку в группе, изменение будет сразу отражено и на устройствах других пользователей.
Изменено оформление предупреждений, показываемых при попытке открытия сайта без HTTPS в случае выставления в настройках (chrome://settings/security) режима установки только безопасных соединений. Вместо вывода страницы с предупреждением реализован диалог, всплывающий под адресной строкой и блокирующий загрузку данных без шифрования до выбора действия пользователем.
В запросах, связанных с упреждающей загрузкой ресурсов или отрисовкой (<link rel=prefetch> или <link rel=prerender>), обеспечена отправка HTTP-заголовка "Sec-Purpose". Ранее применяемый для этих целей HTTP-заголовок "Purpose: prefetch" объявлен устаревшим, но пока не отключён по умолчанию для сохранения совместимости.
В API ToggleEvent добавлено свойство source, содержащее объект Element, представляющий элемент управления, инициировавший изменение состояния, в ответ на которое было сгенерировано событие Toggle. Например, когда пользователь кликнет на элемент "<button>" с атрибутом "popovertarget" при открытии всплывающего окна будет сгенерировано событие ToggleEvent, свойство "source" в котором позволит понять какой элемент "<button>" был нажат.
Добавлена возможность использования функций counter() и counters() внутри альтернативного текста в свойстве "content" (например, 'content: "Chapter" counter(chapter);').
Добавлено CSS-свойство "caret-animation", позволяющее управлять анимацией изменения курсора в полях ввода (например, мигание курсора можно заменить на собственную анимацию). Также добавлены свойства animation-timing-function,
animation-iteration-count,
animation-direction и animation-play-state для управления переходными анимационными эффектами.
В СSS-правиле "@font-face" реализована поддержка свойства font-variation-settings для настройки глифов в вариативных шрифтах (толщина линий, ширина символов, наклон символов и т.п.)
В CSS добавлена поддержка типизированной арифметики, позволяющей использовать такие выражения, как "calc(10em / 1px)" и "calc(20% / 0.5em * 1px)".
Добавлены методы Uint8Array.prototype.toBase64, Uint8Array.prototype.toHex, Uint8Array.fromBase64 и Uint8Array.fromHex для преобразования между Uint8Array и данными в формате base64 или шестнадцатеричным представлением.
В инструментах для web-разработчиков расширены возможности, связанные с применением AI для отладки проблем с производительностью.
Добавлена поддержка эмуляции поведения при использовании HTTP-заголовка "Save-Data".
Кроме нововведений и исправления ошибок в новой версии устранены 6 уязвимостей. Многие из уязвимостей выявлены в результате автоматизированного тестирования инструментами AddressSanitizer, MemorySanitizer, Control Flow Integrity, LibFuzzer и AFL. Критических проблем, которые позволяют обойти все уровни защиты браузера и выполнить код в системе за пределами sandbox-окружения, не выявлено. В рамках программы по выплате денежного вознаграждения за обнаружение уязвимостей для текущего релиза компания Google выплатила 4 премии на сумму 10 тысяч долларов США (по одной премии $5000, $4000 и $1000). Размер одного вознаграждения пока не определён.
Суд огласил решение в рамках судебного слушания по вопросу изменений, которые компания Google должна будет реализовать для устранения нарушения антимонопольного законодательства. Решение оказалось значительно мягче, чем ожидалось, и на фоне этого акции Google выросли в цене на 8%. В начале года Google был признан монополистом на рынке поисковых систем и в качестве меры воздействия обвинители пытались добиться судебного предписания, обязывающего Google продать часть бизнеса, связанную с разработкой браузера Chrome или мобильной платформы Android.
В итоге суд не стал дробить компанию, а лишь запретил некоторые виды сделок и потребовал предоставлять конкурентам доступ к поисковым данным. В частности, суд запретил заключение эксклюзивных соглашений по использованию или предустановке по умолчанию своих продуктов, но разрешил выплачивать отчисления за использование Google Search, Chrome и AI-сервисов при заключении неэксклюзивных соглашений о распределении доходов (разрешено делиться доходом с партнёрами, перенаправляющими пользователей в поисковую систему, но запрещены соглашения, предусматривающие оплату за выставление Google Search по умолчанию или предустановку Chrome). В судебном решении отмечено, что запрет отчислений за поисковый трафик нанёс бы существенный, а в некоторых случаях непоправимый ущерб партнёрам, рынку и потребителям.
Под запрет не попадают сделки c Apple и Mozilla, связанные с направлением в Google поискового трафика (возможно условия соглашений придётся откорректировать, если в них фигурирует использование по умолчанию, но сама возможность отчислений сохраняется). Для Mozilla запрет поисковых отчислений Google привёл бы к потере основного канала финансирования и создал условия для прекращения разработки собственного браузерного движка. Например, в 2020 году выручка Mozilla составила 496 миллионов долларов, из которых около 400 млн долларов было получено в рамках сделки с Google о передаче поискового трафика.
Представлен выпуск распределённой СУБД Apache Cloudberry 2.0.0, продолжающей развитие открытой кодовой базы СУБД Greenplum, которая была превращена компанией Broadcom в закрытый продукт после приобретения VMware. Apache Cloudberry 2.0.0 отмечен как первый выпуск проекта, после передачи кода сообществу Apache. Проект пока находится в инкубаторе Apache и будет переведён в число первичных проектов Apache после готовности инфраструктуры и сопровождающих.
СУБД Cloudberry представляет собой распределённую редакцию открытой СУБД PostgreSQL, оптимизированную для выполнения аналитических запросов над большими массивами данных (Data Warehouse). Для параллельной обработки данных применяется массово-параллельная архитектура (MPP, massively parallel processing), обеспечивающая масштабируемость хранилища до петабайтных размеров за счёт разделения данных на сегменты и задействования для их хранения и обработки кластера из группы серверов.
Осуществлён переход на кодовую базу PostgreSQL 14 (Greenplum базировался на PostgreSQL 12).
Добавлена поддержка динамических таблиц, позволяющих автоматически обновлять результаты запросов. Новая возможность полезна при необходимости работы с актуальными данными, например, для анализа данных в режиме реального времени, архитектур
Lakehouse и автоматизированных обработчиков ETL (Extract, Transform, Load).
Реализован новый гибридный формат хранилища PAX (Partition Attributes Across), сочетающий возможности хранилищ на основе строк и столбцов. Формат PAX позволяет добиться высокой производительности как при высокой нагрузке на запись, так и при выполнении аналитических запросов.
Значительно оптимизировано планирование и выполнение распределённых запросов.
Улучшено управление ресурсами: повышена эффективность работы с памятью и CPU на узлах кластера.
Улучшено распределение данных по узлам и параллельная обработка запросов.
Расширены стратегии резервного копирования в распределённых окружениях.
Информация о лицензиях и оформление заголовков файлов с кодом приведены к соответствию требованиям Фонда Apache. Из релизов в исходном коде исключены бинарные артефакты.
Улучшен процесс сборки компонентов проекта на языках C++ и Python.
Опубликован отчёт о развитии проекта FreeBSD за второй квартал 2025 года. Из изменений можно отметить:
FreeBSD Core Team разрабатывает правила использования AI и больших языковых моделей при разработке. В качестве возможных областей применения AI во FreeBSD отмечается перевод документации, резюмирование больших/непонятных документов, отслеживание ошибок и анализ кода. Для генерации кода AI пока применять не планируют, в основном из-за возможных лицензионных проблем.
В инсталлятор добавлена поддержка системы pkgbase, позволяющей устанавливать компоненты базовой системы в формате, пригодном для управления и обновления при помощи пакетного менеджера pkg. Пакеты pkgbase могут как поставляться на установочном носителе для offline-установки, так и загружаться из репозитория pkg.freebsd.org.
Продолжается развитие проекта bsd-user-4-linux, позволяющего запускать в Linux-системах приложения, собранные для FreeBSD. Целью проекта заявлена возможность сборки пакетов для FreeBSD в Linux, используя родной сборочный инструментарий FreeBSD. Для запуска исполняемых файлов FreeBSD в Linux задействован форк эмулятора QEMU, работающий в режиме User Mode Emulation, предназначенном для запуска процессов, скомпилированных для других CPU и операционных систем (QEMU выполняет трансляцию системных вызовов и обработку сигналов).
На текущем этапе разработки уже можно пересобрать FreeBSD командой "make -j80 buildworld", находясь в Linux.
Работает запуск основных системных утилит, таких как sh, bash, find, grep, git и clang. Из недавних изменений отмечается переход на кодовую базу QEMU 9.2 и реализация поддержки механизма kqueue() в Linux, используя libkqueue.
Для FreeBSD развивается платформа виртуализации Sylve, позволяющая через web-интерфейс управлять запуском виртуальных машин на базе гипервизора Bhyve и контейнеров на базе Jail-окружений. Проект нацелен на предоставление функциональности, похожей на Linux-дистрибутив Proxmox VE, но базирующейся на FreeBSD, Bhyve и ZFS. Из изменений во втором квартале отмечено добавление графиков для визуализации нагрузки на CPU, потребления ОЗУ и сетевой активности, интерфейс для работы с сетевыми интерфейсами, возможности для работы с ФС, разделами, пулами и снапшотами ZFS, поддержка загрузки образов виртуальных машин через web-интерфейс, возможности для создания и удаления виртуальных машин для Bhyve с поддержкой VNC-консоли, проброса PCI-устройств и привязки к выбранным ядрам CPU.
Улучшен порт libvirt для гипервизора bhyve. Представлен проект тестирования bhyve-драйвера от libvirt в системе непрерывной интеграции с FreeBSD. Повышена совместимость драйвера bhyve. Добавлена поддержка устройств virtio-rnd, конфигурации NVRAM и расширенной статистики. Реализована поддержка сетевого доступа через NAT на базе пакетного фильтра pf.
Улучшена обработка tlsbase на системах amd64, что положительно отразилось на работе приложений, вручную управляющих TLS (Thread-Local Storage), таких как Wine.
В компоновщике rtld (Runtime linker) реализована опция "-z initfirst", предоставляющая дополнительные возможности для управления порядком инициализации в динамически связываемых приложениях.
Добавлена поддержка интроспекции kqueue и расширены возможности для анализа использования в процессах механизмов обработки событий ядра. В утилите procstat реализован вывод отчёта о состоянии kqueue.
В ядре реализован флаг EXTERROR, информирующий о наличии расширенной информации об ошибке. При помощи EXTERROR приложения могут получать дополнительные диагностические сведения при возникновении ошибок, не ограничивающиеся кодом ошибки.
В кодовой базе FreeBSD 15 прекращено формирование установочных образов и сборок бинарных пакетов для 32-разрядных архитектур i386 и powerpc. Из 32-разрядных платформ в ветке FreeBSD 15 оставлена только платформа armv7. Режим COMPAT_FREEBSD32, позволяющий запускать 32-разрядные исполняемый файлы в 64-разрядных окружениях, оставлен, но в портах поддержка 32-разрядных сборок будет прекращена.
В ветке FreeBSD 15 поведение системных вызовов setgroups, getgroups и initgroups при обработке групп пользователей приближено к другим платформам (отличие реализации во FreeBSD сводилось к хранению эффективного идентификатора группы процессов в нулевом элементе массива со списком групп).
Ведётся работа по замене реализации Kerberos в основном составе FreeBSD c Heimdal Kerberos на MIT Kerberos. MIT Kerberos уже включён в ветку FreeBSD 15-CURRENT, но пока активируется только через опцию WITH_MITKRB5.
Опубликованы первые выпуски приложения SysctlTUI, предоставляющего текстовый интерфейс для навигации по дереву параметров sysctl, просмотра связанных метаданных и изменения настроек.
Ведётся разработка нового менеджера разделов Geomman (GEOM Manager), основанного на sade и предоставляющего такие дополнительные возможности, как перемещение, копирование и вставка дисковых разделов.
Помимо UFS в Geomman поддерживаются ext2, ext3, ext4, еxFAT и NTFS, а также запланирована поддержка ZFS. Среди прочего можно увеличивать и уменьшать размер существующих разделов с ФС ext4 и создавать новые разделы exFAT.
Продолжена работа по улучшению звукового стека FreeBSD. Проведена чистка драйвера sound, добавлена утилита sndctl, реализована поддержка AFMT_FLOAT, значительно улучшена работа со звуковыми устройствами на ноутбуках, начался рефакторинг подсистемы MIDI.
Выполнено портирование DRM-драйверов (i915 и amdgpu) из ядра Linux 6.9. Изменения развиваются для ветки FreeBSD 15-CURRENT, но вероятно будут бэкпортированы в ветку 14-STABLE.
Ведётся работа по добавлению режимов низкого энергопотребления S0ix и s2idle (Suspend-To-Idle), которые позволят снизить энергопотребление при использовании FreeBSD на современных ноутбуках с процессорами Intel и AMD, некоторые из которых не поддерживают режим сна S3. В драйвер USB4 добавлена возможность перехода в режим пониженного энергопотребления C3.
Для ветки FreeBSD 15 развивается поддержка именованных атрибутов файлов (расширенных атрибутов в стиле Solaris), которые планируют поддерживать в качестве альтернативного механизма управления расширенными атрибутами, доступного для ZFS и NFSv4. Отличия от традиционных для FreeBSD и Linux методов работы с расширенными атрибутами сводится к представлению атрибутов в служебной директории, не видимой в основном пространстве имён ФС и ассоциированной с файлом. Работа с атрибутами производится как с обычными файлами, например, для определения списка атрибутов можно выполнить функцию readdir().
Подготовлены патчи с реализацией опции монтирования "packrat", позволяющей организовать для NFSv4.1/4.2 агрессивное кэширование данных в локальном энергонезависимом хранилище на стороне клиента.
На базе LinuxKPI, прослойки для запуска Linux-драйверов во FreeBSD, развивается обновлённый стек net80211 с поддержкой стандартов Wi-Fi 5 (802.11ac) и Wi-Fi 6 (802.11ax). Прошивки iwlwififw для драйвера Intel iwlwifi удалены из базовой системы в пользу установки из портов и использования утилиты fwget.
В linuxkpi реализована поддержка wlan_tkip, позволяющая использовать криптографические протоколы TKIP (Temporal Key Integrity Protocol) и Michael (Message Integrity Code).
Реализована поддержка отладочного интерфейса, предоставляемого в контроллерах XHCI USB и позволяющего использовать специальный кабель USB 3 для управления отладкой ядра FreeBSD. Подобный интерфейс может применяться для отладки проблем в графических драйверах, приводящих к нарушению вывода.
Ведётся работа по портированию для ядра FreeBSD оригинальной реализации файловых систем HFS и HFS+, драйвер для которых был открыт компанией Apple.
Подготовлен порт FreeBSD для смартфона Pinephone Pro, включающий прошивку с поддержкой управления с сенсорного экрана и простым десктоп-окружением. К сожалению, несколько дней назад проект Pine64 объявил о снятии с производства и прекращении продаж смартфонов PinePhone Pro.
Число портов увеличилось с 36332 до 36605. Среди обновлений в портах: GCC 15, OpenJDK 24.0.1, GNOME 47, KDE Plasma 6.4.1, KDE Framework 6.15.0, Sway 1.11, Qt 6.9.1, Ruby 3.4.4, Rust 1.87.0, SDL 3.2.16, Xorg server 21.1.18.
По умолчанию задействованы версии Go 1.24, Perl 5.40, Ruby 3.3, PostgreSQL 17. Окружение для Linuxulator обновлено до Rocky Linux 9.
Добавлена опциональная поддержка сборки портов с указанием флагов компиляторов, включающих дополнительные режимы усиления безопасности. В make.conf реализованы настройки:
WITH_FORTIFY для защиты от переполнений буфера через добавление дополнительных проверок в такие функции, как memcpy, strcpy и sprintf;
WITH_STACK_AUTOINIT для автоматической инициализации локальных переменных;
WITH_ZEROREGS для защиты от ROP-эксплоитов (Return-Oriented Programming) и утечки информации через регистры CPU.
Опубликован выпуск композитного сервера Niri 25.08, реализующего метод мозаичной (tiling) компоновки в стиле GNOME-расширения PaperWM, в котором окна группируются в бесконечно прокручиваемую на экране ленту. Открытие нового окна приводит к расширению ленты, а ранее добавленные окна не меняют свой размер. Проект базируется на использовании протокола Wayland, но позволяет запускать приложения X11 при помощи DDX-сервера Xwayland. Код проекта написан на языке Rust и распространяется под лицензией GPLv3. Пакеты формируются для Fedora, NixOS , Arch Linux и FreeBSD.
Принципиальным отличием Niri от PaperWM является привязка к каждому монитору собственной ленты окон, не пересекающейся с лентами на других мониторах (в PaperWM раздельная работа с мониторами не может быть реализована из-за привязки к глобальным оконным координатам в GNOME Shell). Niri поддерживает HiDPI и может работать на системах с несколькими GPU (например, гибридных системах с дискретной видеокартой и встроенным GPU). Имеется встроенный интерфейс для создания скриншотов и записи скринкастов, особенностью которого является возможность исключения из записи отдельных окон с конфиденциальной информацией.
Виртуальные рабочие столы в Niri создаются динамически и по аналогии с GNOME размещаются вертикально (лента окон вращается горизонтально, а лента рабочих столов - вертикально). На каждом мониторе может отображаться независимый набор виртуальных рабочих столов. Для переключения между рабочими столами и окнами можно использовать управляющие жесты на тачпаде. При отключении монитора раскладка виртуальных рабочих столов запоминается и переносится на оставшийся монитор, а при возвращении монитора восстанавливается в исходное состояние. Настройка осуществляется через файл конфигурации, позволяющий изменять такие параметры, как ширина рамок, отступы, режимы вывода и размеры окон. Внесённые в файл конфигурации изменения применяется автоматически без перезапуска композитного сервера.
В новой версии:
Для запуска X11-приложений с использованием Xwayland интегрирован компонент xwayland-satellite, позволяющий использовать для сеанса X11 штатные окна на базе Wayland без необходимости добавления специфичных для X11 возможностей управления окнами, таких как глобальная система координат. При помощи xwayland-satellite без проблем выполняются игры, Steam, Proton, JetBrains IDEs, Ghidra, приложения на базе Electron и большинство других X11-клиентов.
Добавлена поддержка экранных ридеров. Для работы проекта Orca реализован интерфейс D-Bus org.freedesktop.a11y.KeyboardMonitor, позволяющий перехватывать нажатия клавиш. Через AccessKit обеспечена возможность выполнения голосовых команд для переключение между рабочими столами, подтверждения выхода, создания скриншотов, активации горячих клавиш. Для включения и отключения Orca добавлена комбинация клавиш Super+Alt+S.
Добавлен модальный диалог подтверждения завершения сеанса, при активации которого применяется затемнение фона, а при открытии/закрытии задействован анимированный эффект.
При создании скриншотов расширен интерфейс для выделения интересующей области и окна для снимка, включена поддержка многомониторных конфигураций и управления с сенсорных экранов. Решены проблемы с мерцанием при записи скринкастов на системах с видеокартами NVIDIA.
Реализована возможность получения информации о раскладке клавиатуры через systemd-localed, используя интерфейс D-Bus org.freedesktop.locale1, что позволяет задействовать выбранные при установке параметры раскладки без необходимости отдельной конфигурации раскладки XKB.
Добавлена поддержка Wayland-протокола ext-workspace, реализующего события с информацией о состоянии виртуальных рабочих столов, а также возможности для активации и деактивации рабочих столов. Поддержка ext-workspace позволила добиться совместимости индикатора рабочих столов с другими композитными серверами и использовать модуль ext/workspaces в Waybar 0.14, а также будущих выпусках sfwbar и xfce4-panel.
Добавлена поддержка второй версии Wayland-протокола cursor-shape, предоставляющего альтернативный способ настройки внешнего вида курсора, основанный на передаче серии изображений курсора вместо привязки к поверхности (wl_surface).
В IPC-интерфейс добавлены возможности для управления позицией и размером окон.
Реализован сервис D-Bus для блокировки автоматической активации хранителя экрана во время просмотра видео в таких программах, как VLC.
Создан логотип проекта и запущен wiki-сайт с документацией.
После шести месяцев разработки опубликован релиз многоплатформенного тулкита для создания графического интерфейса пользователя - GTK 4.20. GTK 4 развивается в рамках процесса разработки, который пытается предоставить разработчикам приложений стабильный и поддерживаемый в течение нескольких лет API, который можно использовать не опасаясь, что каждые полгода придётся переделывать приложения из-за изменения API в очередной ветке GTK.
Для поддержки методов ввода задействован Wayland-протокол text-input. Для работы с композитными серверами без поддержи данного протокола можно вручную выставить переменную окружения "GTK_IM_MODULE=simple", возвращающую поддержку стиле X11 compose-последовательностей и клавиш для ввода диакритических знаков.
Добавлена поддержка Wayland-протокола wl_seat_v10 и обработки на стороне сервера событий повторного нажатия, генерируемых при удержании клавиши.
При использовании Wayland добавлена поддержка обработки ограничений операций с краями поверхности верхнего уровня (xdg-toplevel edge constraint). Возможность позволяет композитному менеджеру информировать Wayland-клиентов об имеющихся ограничениях, например, о том, могут ли окна изменять свои размеры или нет.
Добавлена поддержка Wayland-протокола "tablet-v2" для организации ввода с графических планшетов.
Улучшена обработка прокрутки при использовании Wayland.
Для привязки пиктограммы к окнам задействован Wayland-протокол xdg-toplevel-icon.
Проведена чистка и упрощение всех символьных пиктограмм и ресурсов тем оформления, которые теперь могут быть обработаны встроенным парсером формата SVG. Прекращена поставка символьных пиктограмм и ресурсов тем в формате PNG.
Расширены возможности по созданию тем оформления на базе CSS. Добавлена поддержка медиа-запросов для цветовой схемы. Реализована функция light-dark(). Улучшена настройка градиентов. Переработан код для отображения тени для текста.
Улучшена обработка полей ввода паролей с учётом средств для людей с ограниченными возможностями.
Реализована возможность вызова приложения gnome-papers для предпросмотра вывода на печать. Добавлена поддержка xdg-портала для организации вывода на печать.
В утилиты для разработчиков добавлены компоненты для автодополнения ввода в bash. В утилиту gtk4-rendernode-tool добавлена опция "--offload". В утилите инспектирования обеспечен вывод информации об операционной системе и улучшена визуализация событий.
В gtk4-path-tool добавлена поддержка показа пересечений путей и реализованы возможности для работы в интерактивном режиме. В gtk4-demo добавлены демонстрации "Path Explorer", "Sweep" и "Image Filtering".
В отладчик добавлена комбинация Super+F для сохранения одного кадра. Добавлена режим GTK_DEBUG=touch-ui для тестирования интерфейсов для сенсорных экранов.
В редактор CSS добавлены элементы для изменения цветовой схемы и контраста.
В библиотеке GSK (GTK Scene Kit), предоставляющей возможности отрисовки графических сцен через OpenGL и Vulkan, добавлен API gsk_path_foreach_intersection для вычисления пересечений путей. Улучшена отрисовка текста. Добавлены оптимизации производительности, например, реализован кэш масок для заливки. Предложены концепции загружаемых, не загружаемых и субсемплированных изображений.
В библиотеке GDK, предоставляющей прослойку между GTK и графической подсистемой, улучшена обработка изменения размера окон и добавлена поддержка относительных координат при работе с планшетами.
На платформе Android реализована корректная поддержка мультитач и начальная поддержка IME (Input Method Editor).
Для платформы Windows добавлен API для работы с текстурами через D3D12. Улучшена поддержка WGL. Задействованы D3D11/D3D12 и DirectComposition.
Добавлена поддержка многослойных форматов текстур.
В виджете GtkVideo реализована поддержка форматов YUV. Бэкенд gstreamer портирован на использование GskPlay. Улучшена поддержка форматов с субсемплингом. Добавлена поддержка программных декодеров для форматов с глубиной цвета 10, 12 и 16 бит.
Класс GtkApplication переведён на использование порталов xdg вместо обращения к менеджеру сеансов.
В класс GtkBuilder добавлена поддержка трансляции выражений с константами.
В классе GtkIconTheme разрешено перечёркивание символьных пиктограмм и добавлен парсер для SVG-файлов. В число обязательных зависимостей переведена библиотека librsvg.
Для работы теперь требуется поддержка wayland-protocols 1.44 и наличие расширений wl_output-v2 и xdg_output-v3.
Объявлены устаревшими бэкенд Broadway (отрисовка в окне web-браузера), API Pixbuf, свойство GtkApplication:register-session и настройка gtk-application-prefer-dark.
Опубликованы новые сборки FreedomBox Trixie, переведённые на пакетную базу Debian 13. Проектом развивается система для простого развёртывания персональных серверов, обеспечивающих защиту персональных данных пользователей и позволяющих быстро запустить на своём оборудовании типовые сервисы, которые могут применяться для личного использования. Все развиваемые проектом наработки доступны через репозитории Debian. Установочный образ сформирован для архитектуры x86_64 (формирование сборок i386 прекращено). При желании можно создать собственный образ при помощи специального инсталлятора Freedom-Maker и конфигуратора freedombox-setup.
Загрузившись с созданного загрузочного носителя пользователь может через web-интерфейс установить такие готовые к работе преднастроенные компоненты, как VPN для доступа к своей локальной сети, платформа домашней автоматизации Home Assistant, почтовый сервер Postfix c webmail Roundcube, система обмена файлами Bepasty, TURN-сервер Coturn, BitTorrent web-клиенты Deluge и Transmission, Jabber-cервер Ejabberd, git-интерфейс Gitweb, шлюзы для работы через I2P и Tor, видеочат Janus, голосовой чат Mumble, Matrix-сервер Synapse, облачное хранилище и система совместной работы Nextcloud, сервер потокового вещания MiniDLNA, хранилище резервных копий Borg, фильтрующий прокси Privoxy, файловый сервер на базе Samba, календарь планировщик Radicale, менеджер фотографий Zoph, различные движки Wiki и сайт на базе WordPress. Проект также может применяться в качестве домашнего маршрутизатора, межсетевого экрана и прокси для фильтрации рекламы и трекеров.
FreedomBox основан Эбеном Могленом (Eben Moglen), профессором права Колумбийского университета, занимающимся юридической поддержкой Фонда свободного программного обеспечения. Проект создан с целью предоставления средств для создания недорогих персональных серверов с низким энергопотреблением, которые пользователи могут использовать для хранения своих персональных данных и для обеспечения безопасных коммуникаций, не прибегая к обращению к внешним централизованным сервисам.
Совместно с компанией Olimex организация FreedomBox Foundation поставляет мини-серверы FreedomBox Pioneer с предустановленной платформой FreedomBox. Устройство сертифицировано ассоциацией SSHWA как Open Source Hardware и примечательно наличием встроенного аккумулятора, который на какое-то время обеспечивает автономную работу в случае сбоев со стационарным питанием.
После года разработки опубликован релиз композитного сервера Wayfire 0.10, использующего Wayland и позволяющего формировать нетребовательные к ресурсам интерфейсы пользователя c 3D-эффектами в стиле 3D-плагинов к Compiz (переключение экранов через 3D-куб, пространственная раскладка окон, морфинг при работе с окнами и т.п.). Wayfire поддерживает расширение функциональности черезплагины и предоставляет гибкую систему настройки. Код проекта написан на языке C++ и распространяется под лицензией MIT.
Проект построен на базе библиотеки wlroots, развиваемой разработчиками пользовательского окружения Sway и предоставляющей базовые функции для организации работы композитного менеджера на базе Wayland. Для управления сеансами могут применяться systemd, elogind или seatd. Поддерживается запуск X11-приложений при помощи XWayland. В качестве панели можно использовать wf-shell от разработчиков Wayfire или стороннюю панель LavaLauncher. Проектом также развивается библиотека для работы с файлами конфигурации wf-config и графический конфигуратор wcm.
В новой версии Wayfire:
Добавлена возможность раздельной настройки разных устройств ввода. Например, можно настроить разные наборы раскладок для нескольких подключённых клавиатур.
Добавлена экспериментальная поддержка бэкендов отрисовки, использующих графический API Vulkan и библиотеку Pixman, помимо штатного бэкенда на базе OpenGL ES.
API отрисовки переделан для интеграции с системой отрисовки библиотеки wlroots.
Реализована возможность задания своего цветового профилей для каждого устройства вывода.
В плагин "animate" добавлены новые анимированные эффекты, такие как
эффект волшебной лампы, при котором при сворачивании окно сжимается и складывается в пиктограмму, а также эффекты вращения (spin) и раскрытия (zap) окна. Предоставлена возможность подключения внешних плагинов для создания своих анимационных эффектов.
Добавлены новые методы IPC для определения и выставления раскладки клавиатуры, отправки окон на заданный рабочий стол и определения позиции курсора.
Добавлена поддержка выпуска библиотеки wlroots 0.19, в котором реализованы новые протоколы Wayland, поддержка Multi-GPU и возможность явной синхронизации буферов при помощи объектов синхронизации DRM (Direct Rendering Manager).
В плагине "resize" улучшена обработка максимального и минимального размера окон.
Добавлена поддержка скрипта для запуска Xwayland, позволяющего выполнять дополнительные команды после старта и перезапуска Xwayland по аналогии с .xinitrc.
Дополнительно можно отметить выпуск композитного сервера Wayland Maker 0.6, реализующего пользовательское окружение в стиле Window Maker, построенное с использованием протокола Wayland. Среди поддерживаемых возможностей: стековый режим компоновки окон, использование виртуальных рабочих столов, боковая панель, оформление в стиле NeXTSTEP, поддержка закрепления приложений на экране, ориентация на легковесность и высокую производительность, возможность запуска X11-приложений при помощи XWayland. Поддерживаются Wayland протоколы: xdg-decoration-unstable-v1, ext_session_lock_v1, wlr_layer_shell_unstable_v1, wlr-output-management-unstable-v1, xdg_shell и idle_inhibit_unstable_v1. Код проекта написан на языке Си и распространяется под лицензией Apache 2.0.
В новой версии Wayland Maker реализована возможность использования нескольких устройств вывода и поддержка Wayland-протокола wlr-output-management для изменения настроек устройств вывода. Для настройки параметров экрана могут использоваться приложения wdisplays и wlr-randr. Добавлена поддержка генерации корневого меню из репозитория XDG при помощи утилиты wmmenugen. Реализована навигация по меню, используя клавиатуру. Подготовлено руководство пользователя.
Разработчики библиотеки GNU MP (GMP), предоставляющей функции для выполнения арифметических операций с произвольной точностью, предупредили пользователей об инциденте с повторным выходом из строя процессоров серии AMD Ryzen 9000 на базе микроархитектуры Zen 5 в ходе тестирования работы библиотеки. Предполагается, что повреждение процессоров было вызвано перегревом, возникающим при интенсивном выполнении функций GMP. До завершения полного анализа проблемы пользователям не рекомендовано активно использовать GMP на системах с CPU AMD Zen 5.
Опасения вызваны повторным выходом из строя CPU AMD Ryzen 9950X (AMD Zen5 X16 4300MHz) на сервере в тестовой инфраструктуре проекта. Первый выход из строя произошёл в феврале 2025 года, после чего процессор был заменён по гарантии. В конце августа ситуация повторилась и заменённый по гарантии CPU, установленный в системе с другим блоком питания и другой материнской платой, также перестал функционировать с теми же признаками, свидетельствующими о перегреве (на чипе образовалась обесцвеченная область, диаметром примерно в 1 сантиметр).
По предварительным данным библиотека GMP слишком интенсивно использует циклы с инструкцией MULX, что приводит на системах с AMD Zen 5 к потреблению значительного большей энергии, чем заявлено, и невозможности компенсировать нагрев системой охлаждения, подобранной в соответствии со спецификацией. Во время обоих повреждений выполнялся тест с ручными ассемблерными циклами с одной инструкцией MULX, создающий максимальную нагрузку.
На системах использовались материнские платы Asus Prime B650M-K и Asus Prime B650M-A WIFI II, а также блоки питания Corsair SF450 и Corsair RM650. В обеих конфигурациях использовалась система охлаждения Noctua NH-U9S, но в первом случае радиатор был установлен по центру, а во втором по рекомендации производителя смещён в сторону с большим нагревом.
Отмечается, что во втором случае термопаста была распределена не равномерно (с одной стороны слой был тоньше) и полностью не исключается, что второй сбой был вызван неверной установкой радиатора.
В CPU Ryzen 9950X заявлена необходимость теплоотвода в 170 Вт (TDP, Thermal Design Power), а используемая система охлаждения обеспечивала
теплоотвод в 165 Вт. Недостающие 5 Вт компенсировали дополнительными кулерами в корпусе и низкой температурой в помещении, составлявшей около 20°C. Оба процессора вышли из строя через несколько месяцев работы при высокой нагрузке. При этом в инфраструктуре проекта для аналогичных задач уже длительное время используется ещё один сервер с CPU AMD Ryzen 7950X в той же конфигурации и с тем же уровнем нагрузки, и проблем с ним не возникает.
После шести месяцев разработки представлен релиз проекта LLVM 21.1.0, развивающего инструментарий (компиляторы, оптимизаторы и генераторы кода), компилирующий программы в промежуточный биткод RISC-подобных виртуальных инструкций (низкоуровневая виртуальная машина с многоуровневой системой оптимизаций). Сгенерированный псевдокод может быть преобразован в машинный код для заданной целевой платформы или использован JIT-компилятором для формирования машинных инструкций непосредственно во время выполнения программы. На базе технологий LLVM проектом развивается компилятор Clang, поддерживающий языки программирования C, C++ и Objective-C. Начиная с ветки 18.x проект перешёл на новую схему формирования номеров версий, в соответствии с которой нулевой выпуск ("N.0") используется в процессе разработки, а первая стабильная версия снабжается номером "N.1".
По аналогии с GCC реализована возможность использования константных выражений в ассемблерных вставках, определяемых директивой "asm":
int foo() {
asm((std::string_view("nop")) ::: (std::string_view("memory")));
}
Добавлены расширенные варианты выражений "new" и "delete", поддерживающие аргумент "std::type_identity<T>", через который можно указать информацию о типе объекта, для которого выделяется или освобождается память.
Добавлена возможность вычисления на этапе компиляции (в контексте константного выражения) лямбда-функций, захватывающих структурированные привязки (structured binding) .
Возможности, связанные с будущим стандартом C++2с (C++26):
В структурированные привязки добавлена возможность использования синтаксиса "..." для указания пакетов (pack), захватывающих оставшееся число элементов из присваиваемой последовательности.
auto [x,y,z] = f(); // в переменные x, y, z будут записаны три элемента, возвращённые f().
auto [...xs] = f(); // в пакет xs будут записаны все элементы, возвращённые f().
auto [x, ...rest] = f(); // В x будет записан первый элемент, а в rest - остальные.
auto [x, y, ...rest] = f(); // В x будет записан первый элемент, в y - второй, а в rest - третий.
auto [x, ...rest, z] = f(); // в x - первый, в rest - второй, в z - третий.
Добавлена поддержка "тривиальной перемещаемости" типов (Trivial Relocatability), позволяющей оптимизировать перемещения объектов заданного типа через их клонирование в памяти без вызова конструкторов или деструкторов. Для классов реализованы свойства memberwise_trivially_relocatable и memberwise_replaceable, а для низкоуровневого перемещения одного или нескольких объектов добавлены функции trivially_relocate_at и trivially_relocate.
Появилась возможность применения структурированного связывания (structured binding) в качестве условия в операторах "if" и "switch".
Реализована поддержка прикрепления функции main() к глобальному модулю и определения функции main() в именованных модулях.
Возможности, развиваемые для будущего стандарта C2y:
Устранено неопределённое поведение при использовании выражений с типом void в некоторых контекстах, например, "(void)(void)1;".
Разрешено не завершать файл с исходным кодом символом новой строки.
Добавлены новые префиксы для восьмеричных литералов - "0o" и "0O", а также восьмеричные и шестнадцатеричные escape-последовательности "\o{...}" и "\x{...}". Поддержка восьмеричных литералов 0xxx объявлена устаревшей. Например, "0o123" и "\o{123}" вместо "0123".
Добавлен оператор "_Countof" для определения количества элементов в массиве. Также добавлен заголовочный файл stdcountof.h, определяющий вариант макроса "countof", реализованный через "_Countof".
Возможности, определённые в Си-стандарте C23:
Разрешено переопределять tag‑типы (struct, union, enum) в пределах одного блока трансляции, если повторные определения структурно эквивалентны (то же число членов, одинаковые типы и имена тегов).
Упрощено использование списков с переменным числом аргументов (variadic). Разрешено использовать
одиночный вариативный параметр в имени типа.
Добавлена совместимая с GCC встроенная функция "__builtin_c23_va_start()", улучшающая поведение диагностики для макроса va_start() в режиме C23.
В режиме совместимости с компилятором MSVC разрешено использование спецификатора inline при объявлении типа функции через typedef, например, "typedef int inline Foo(int);"
Разрешено использовать квалификатор "restrict" для типов массивов с элементами-указателями.
Новые предупреждения компилятора:
"-Wdefault-const-init-var" и "-Wdefault-const-init-field" - выявление помеченных признаком const переменных и полей, определённых без явной инициализации.
"-Wimplicit-void-ptr-cast" - диагностика неявного преобразования из типа "void*" в другой тип указателя.
"-Wc++-keyword" - выявление использования ключевых слов "C++" в качестве идентификаторов в "C".
"-Wc++-hidden-decl" - выявление использования типов тегов, видимых в "C", но не видимых в "C++" из-за ограничения области видимости.
struct S {
struct T {
int x;
} t;
};
struct T t; // предупреждение, так как корректно в Си, но некорректно в C++
"-Wimplicit-int-enum-cast" - выявление неявных преобразований в С-коде из целочисленных типов в тип перечислений, несовместимых с "C++".
"-Wtentative-definition-compat" - диагностика повторяющихся определений в "C", несовместимых с "C++" (например, "int i;int i;").
"-Wunterminated-string-initialization" и "-Wc++-unterminated-string-initialization" - выявление операций инициализации строковых литералов, в которых не вмещается разделитель с нулевым кодом. Для пометки полей и переменных в коде на Си, не требующих финального нулевого символа, добавлен атрибут
"nonstring".
char buf1[3] = "foo"; // предупреждение
char buf2[3] = "fo\0"; // всё Ok.
"-Wjump-misses-init" - диагностика перехода через goto или switch/case, пропускающего инициализацию локальной переменной.
"-Wundef-true" - предупреждает об использовании значения "true" в препроцессоре C без определения.
"-Wnrvo" - диагностика пропущенных NRVO (Named Return Value Optimization).
Новые флаги компилятора:
"-fprofile-continuous" - включение непрерывной синхронизации профиля в файл.
"-ftime-report-json" - вывод сведений о времени компиляции в формате JSON.
"-fthinlto-distributor" и "-Xthinlto-distributor" - для применения DTLTO (Integrated Distributed ThinLTO).
"-static-libclosure" - для статического связывания runtime расширения Blocks на платформе Windows.
Расширены средства диагностики и статического анализа, добавлены новые проверки (более сотни улучшений, связанных с диагностикой).
Улучшены бэкенды для архитектур ARM, Aarch64, AMDGPU, x86, RISC-V, LoongArch, MIPS и PowerPC. В бэкенд для RISC-V добавлена экспериментальная поддержка ассемблера для расширений Qualcomm uC, Andes и SiFive.
Представлен релиз проекта QEMU 10.1.0. В качестве эмулятора QEMU позволяет запустить программу, собранную для одной аппаратной платформы на системе с совершенно иной архитектурой, например, выполнить приложение для ARM на x86-совместимом ПК. В режиме виртуализации в QEMU производительность выполнения кода в изолированном окружении близка к аппаратной системе за счёт прямого выполнения инструкций на CPU и задействования гипервизора Xen или модуля KVM в Linux, или модуля NVMM в NetBSD.
Изначально проект был создан Фабрисом Белларом (Fabrice Bellard) с целью обеспечения возможности запуска собранных для платформы x86 исполняемых файлов Linux на архитектурах, отличных от x86. За годы разработки была добавлена поддержка полной эмуляции для 14 аппаратных архитектур, число эмулируемых аппаратных устройств превысило 400. При подготовке версии 11.0 внесено более 2700 изменений от 226 разработчиков.
В VFIO (Virtual Function I/O) реализована начальная поддержка маппинга памяти для конфиденциальных гостевых окружений, в которых применяется шифрование памяти для защиты от вмешательства и анализа со стороны администратора хост-системы. Изменение позволяет организовать проброс устройств в гостевые системы, защищённые при помощи механизмов Intel TDX (Trusted Domain Extensions) и AMD SEV-SNP (Secure Nested Paging).
Добавлена возможность использования механизма multifd для ускорения Live-миграции в режиме postcopy, при котором вначале на целевой хост переносится и запускается виртуальная машина, а затем постепенно переносится невостребованное в работе содержимое оперативной памяти. Оптимизирован режим Live-миграции precopy. Добавлена поддержка миграции RDMA для IPv6.
В QEMU Guest Agent добавлена команда "guest-get-load" для получения информации об уровне загруженности системы (load average) в виртуальных машинах с Windows.
В virtio-gpu добавлена поддержка подстановки имени в EDID (Extended Display Identification Data).
В эмуляторе архитектуры x86 реализована возможность использования механизма Intel TDX (Trusted Domain Extensions) для шифрования оперативной памяти гостевых систем, работающих под управлением гипервизора KVM. Также добавлена поддержка инициализации конфиденциальных виртуальных машин в формате IGVM (Independent Guest Virtual Machine), для защиты которых используются механизмы Intel TDX и AMD SEV-SNP.
В эмуляторе архитектуры ARM реализована поддержка плат (Analog Devices 'max78000fthr',
'ast2700fc', Meta 'catalina-bmc', NVIDIA 'gb200-bmc' и 'ast2700a0-evb'.
Добавлена эмуляция расширений CPU FEAT_SME2, FEAT_SME2p1, FEAT_SME_B16B16,
FEAT_SME_F16F16, FEAT_SVE_B16B16 и FEAT_SVE2p1. В типовую виртуальную ARM-платформу 'virt' добавлена поддержка вложенной виртуализации при использовании KVM, а также поддержка шины CXL (Compute Express Link) и горячего подключения PCI-устройств при помощи ACPI.
В эмуляторе архитектуры RISC-V реализована эмуляция процессора Kunminghu и платформы на него основе.
Добавлена поддержка расширения архитектуры набора команд Ziccif с реализацией атомарного варианта инструкции fetch.
В эмулятор архитектуры LoongArch добавлена поддержка эмуляции контроллера прерываний irqchip на стороне ядра.
Добавлена экспериментальная поддержка компиляции в представление WebAssembly (WASM), используя компилятор Emscripten.
В компонентах для host-окружений прекращена поддержка Debian 11.
Представлен релиз десктоп-ориентированного дистрибутива GhostBSD 25.02, построенного на базе FreeBSD 14 и предлагающего сборки с пользовательскими окружениями MATE, Xfce и Gershwin. По умолчанию в GhostBSD применяется файловая система ZFS. Поддерживается как работа в Live-режиме, так и установка на жесткий диск (используется собственный инсталлятор ginstall, написанный на языке Python). Загрузочные образы сформированы для архитектуры x86_64 (3.7 ГБ с MATE, 3.4 ГБ c Xfce, 3.3 ГБ c Gershwin).
Выпуск примечателен началом тестирования собственной среды рабочего стола Gershwin, стилизованной под интерфейс macOS. Для воссоздания механизмов взаимодействия с пользователем в стиле macOS задействован фреймворк GNUstep и оконный менеджер xfce4-wm, но в будущем планируют разработать собственный оконный менеджер. Имеется экспериментальная поддержка Wayland.
C окружением Gershwin интегрированы инструменты GhostBSD, такие как инсталлятор, менеджер приложений (Software Station) и графические интерфейсы для резервного копирования (Backup Station) и обновления системы (Update Station). Возможен запуск как обычных программ, так и приложений на базе GNUstep. В отличие от других дистрибутивов на базе GNUstep, в Gershwin не используется стиль NEXTSTEP и внесены изменения для предоставления графического окружения, не завязанного на оконный менеджер Window Maker.
Обеспечено автоматическое переключение звуковых устройств и добавлена поддержка многоканальных звуковых карт (более 2 каналов) с интерфейсом USB.
Реализовано автоматическое определение графических карт AMD Radeon HD 8790M и Radeon HD 8240 Kabini, и улучшено определение серий NVIDIA RTX 4000/5000.
Улучшено управления загрузочным окружением.
Добавлена поддержка fusefs.
В менеджере приложений Software Station улучшена работа с конфликтующими пакетами.
Компания Google анонсировала переход на использование на сертифицированных Android-устройствах только зарегистрированных приложений от верифицированных разработчиков. Поддержка установки приложений из сторонних каталогов и из вручную загруженных apk-пакетов будет запрещена, если они созданы разработчиками, не зарегистрировавшим пакеты в Google и не подтвердившими свои персональные данные.
Неофициальные сборки, формируемые на основе кодовой базы AOSP, смогут вернуть возможность установки любых приложений, но в прошивках устройств, проходящих сертификацию, производители должны будут активировать дополнительные проверки устанавливаемых приложений. Сертификация позволяет производителям использовать сервис Play Protect и подтверждает, что все поставляемые в платформе сервисы Google, включая интеграцию с каталогом Play Store, реализованы корректно. Сертификацию проходят почти все крупные производители устройств, так как для не сертифицированных устройств не гарантируется доставка специфичных для сервисов Google обновлений с устранением уязвимостей и возможность установки приложений из Google Play Store.
В качестве причины введения ограничений называется желание усложнить распространение вредоносных приложений с использованием мошеннических схем, предлагающих загрузить и установить apk-пакет в обход каталога Google Play Store. По статистике Google через сторонние источники распространяется в 50 раз больше вредоносных программ для Android, чем фиксируется в Google Play Store.
Тестовое внедрение новой проверки начнётся в октябре 2025 года, а возможность прохождения верификации всех разработчиков приложений будет предоставлена в марте 2026 года. В сентябре 2026 года проверка станет обязательной в Бразилии, Индонезии, Сингапуре и Таиланде - любые приложения, устанавливаемые на сертифицированных устройствах в данных странах, должны быть зарегистрированы верифицированным разработчиком. В 2027 году практика запрета программ от неверифицированных разработчиков постепенно начнёт применяться и в других странах.
Для приложений, распространяемых через каталог Google Play, подобная верификация уже действует с 2023 года. Для верификации разработчиков, поставляющих приложения напрямую и не использующих Google Play, будет запущен новый сервис Android Developer Console, через который разработчик сможет получить идентификатор и зарегистрировать свои приложения. Для студентов и энтузиастов будет предложен отдельный тип учётных записей, отличающийся от разработчиков коммерческих программ. Разработчикам, уже применяющим Google Play, дополнительная верификация не потребуется.
Верификация сводится к двум этапам:
Предоставление и подтверждение персональных данных разработчика, таких как ФИО, адрес проживания, email и телефонный номер. В качестве метода подтверждения упоминается загрузка фото документа, удостоверяющего личность. Для организаций требуется подтверждение сайта и предоставление международного идентификатора юридических лиц (DUNS).
Регистрация приложений - разработчик должен в специальном каталоге зарегистрировать свои приложения и подтвердить, что он является их автором, предоставив полное имя пакета и ключи для цифровых подписей.