Опубликован очередной еженедельный отчёт о разработке KDE, в котором представлена первая порция изменений для ветки KDE Plasma 6.7, релиз которой ожидается в июне. Развитие новой ветки началось после перевода ветки KDE Plasma 6.6 на стадию бета-тестирования и заморозке связанной с ней кодовой базы от внесения функциональных изменений (допускается только приём исправлений). Релиз KDE Plasma 6.6 намечен на 17 февраля.
Новшества, развиваемые для KDE Plasma 6.7:
Реализован глобальный режим push-to-talk, при котором микрофон включается только во время нажатия и удержания определённой комбинации клавиш.
В виджеты управления яркостью и цветопередачей добавлены кнопки для быстрого переключения между светлым и тёмным режимами оформления.
В менеджере приложений Discover в разделе "Игры" обеспечен показ отдельных подкатегорий для лаунчеров и утилит.
В конфигураторе реализован показ страниц настройки игровых контроллеров, мыши и тачпада только при наличии данных устройств.
Улучшено редактирование элементов на рабочем столе на системах с сенсорным экраном.
При поиске по слову "память" (memory) теперь в числе рекомендаций предлагается запустить приложение System Monitor.
В виджетах и приложении System Monitor реализована поддержка отслеживания сетевой активности на платформе FreeBSD.
Добавлена новая экранная клавиатура plasma-keyboard, которая разрабатывается на смену виртуальной клавиатуре Maliit. Plasma-keyboard базируется на коде экранной клавиатуры Qt Virtual Keyboard, входящей в состав Qt. Реализация от KDE расширена возможностями для интеграции с рабочим столом Plasma, решает некоторые проблемы с удобством использования и применяет новый алгоритм масшабирования, позволивший улучшить отображение клавиатуры на узких экранах.
Добавлен новый менеджер входа plasma-login-manager, развиваемый для замены дисплейного менеджера SDDM (Simple Desktop Display Manager) и решающий специфичные для него архитектурные проблемы. Plasma-login-manager использует бэкенд на основе урезанной версии SDDM и механизм запуска, идентичный тому, что применяется для запуска сеанса рабочего стола KDE Plasma. Оформление экрана входа приближено к существующему блокировщику экрана KDE, а настройки унифицированы с KDE Plasma. Вместо использования QML для кастомизации тем оформления предложено использовать существующие плагины обоев рабочего стола, цветовых схем и тем оформления Plasma.
Добавлен новый мастер начальной настройки plasma-setup, который дополняет экран приветствия входа в систему (Welcome Center). В plasma-setup предложены системные операции, которые выполняются до первого входа в систему после установки, такие как создание нового пользователя, под которым будет осуществляться дальнейшая работа, выбор языка и часового пояса, настройка раскладки клавиатуры и конфигурирование сетевого доступа.
В приложение System Monitor добавлена поддержка выставления приоритетов выполнения процессов, по аналогии с тем, как это можно делать в старом приложении KSysGuard.
По умолчанию прекращена проверка ошибок в файловой системе при монтировании внешнего накопителя, данная операция теперь вызывается по желанию через отдельную опцию.
В диалог выбора экрана добавлено поле для поиска и фильтрации, позволяющее быстро найти экран по названию при наличии большого числа открытых окон.
В интерфейс калибровки HDR добавлена сводная страница с настройками для Windows-приложений и игр.
В приложениях воспроизведения мультимедийного контента реализована поддержка прокрутки вперёд и назад при помощи соответствующих специализированных кнопок на клавиатуре.
В композитный менеджер kwin добавлена поддержка Wayland-протокола color-management-v2, предоставляющего возможности для управления цветом.
Устранено появление визуальных артефактов в Firefox при включении в нём режима HDR.
Добавлена возможность сохранения текущих настроек внешнего вида в форме новой темы оформления.
В виджет управления Bluetooth добавлена кнопка "Forget device" для быстрого удаления сопряжённого устройства без перехода в конфигуратор.
В приложение System Monitor встроена функция для поиска процессов с учётом не только имени, но и опций командой строки, а также расширен диалог для настройки показываемых столбцов.
На экран завершения работы добавлено предупреждение о том, что перезапуск приведёт к загрузке другой операционной системы.
В виджет управления питанием добавлена информация о видах блокировки, применённых к отдельным приложениям (блокировка перехода в спящий режим или блокировка запуска хранителя экрана).
В конфигураторе реализован показ страниц настройки Thunderbolt и сенсорного экрана только при наличии данного оборудования.
При просмотре миниатюр окон в виджете управления задачами реализовано фокусирование на активном окне для его выделения на фоне других открытых окон.
В меню Kickoff реализована поддержка прокрутки списка избранных приложений, в случае если они не вмещаются в отведённую для них область.
В эффект увеличения областей экрана добавлен режим, позволяющий центрировать вывод относительно позиции курсора (при увеличении курсор всегда остаётся в центре экрана).
В интерфейс выбора Emoji добавлена опция для изменения цвета кожи при изображении людей и рук.
Добавлена настройка для отключения индикаторов таймаута автоскрытия в уведомлениях (на некоторых системах подобная индикация на 15% увеличивает нагрузку на CPU)
Использование игрового контроллера теперь воспринимается как активность, блокирующая переход в спящий режим и запуск хранителя экрана.
Во всплывающий интерфейс компоновки дисплеев в многомониторных конфигурациях добавлена кнопка для вызова полноценного конфигуратора.
В размещаемых в панели виджетах улучшена читаемость текстовых меток.
Улучшено использование Wayland-протокола xdg-activation для переключения фокуса ввода между приложениями.
В конфигураторе улучшен интерфейс цветокоррекции для людей с нарушением восприятия цветов.
На странице настройки прав доступа приложений обеспечен показ идентификатора Flatpak-приложения (например, "com.github.wwmm.easyeffects") вместо номера версии. Добавлена возможность выделения текста для помещения в буфер обмена.
По умолчанию включено хранение паролей от Wi-Fi в глобальном контексте, доступном только пользователю root, а не в привязке к отдельным пользователям. Изменение позволит новым пользователям сразу начать работу в сети, если в системе ранее уже осуществлялось подключение к Wi-Fi, без необходимости повторного входа. На странице входа также сразу будут работать функции, требующие интернет-подключения, такие как использование учётных записей через LDAP.
В виджете с реализацией меню приложений (Application Dashboard) учтена выбранная цветовая схема для показа в светлых тонах при светлом режиме оформления (по умолчанию меню продолжает отображаться тёмным). Добавлена возможность изменения размера секций с избранными (Favorites) и обычными приложениями, чтобы выделить одной из них больше места на экране.
Предоставлена возможность временного отключения шаблонов и команд в менеджере буфера обмена Klipper без их удаления из списка.
Закруглены углы маркера, выделяющего активный элемент верхнего меню в приложениях.
Обеспечено корректное отображение соотношения сторон эскизов изображений при использовании сервиса смены обоев рабочего стола "Bing Picture of the Day" - вместо использования для изображений только портретного формата адаптивно выбирается альбомное или портретное представление.
В настройках дополнения для интеграции с web-браузером теперь используется тёмный фон, если в браузере включён тёмный режим оформления.
В команде "kcmshell6 --list" задействована сортировка в алфавитном порядке.
В KRunner отключено динамическое изменение приоритета вывода результатов поиска в зависимости от частоты их использования, что позволит добиться более предсказуемой сортировки.
В панель добавлена возможность изменения уровня громкости задачи, используя прокрутку колесом мыши на пиктограмме приложения.
Реализована возможность передачи приложением свойства "position" при инициировании предоставления совместного доступа к экрану для улучшения работы в многомониторных конфигурациях.
Виджет с часами переведён на использование библиотеки "libclock", что позволило избавиться от проблем с часовыми поясами и повысить эффективность работы с таймером.
В меню приложений (Kickoff) реализовано визуальное разделение смежных выделенных категорий.
В интерфейсе поиска при вводе запроса "winver", привычного пользователям Windows, обеспечен вывод страницы с информацией о системе.
Реализовано отображение иконки сайта при управлении воспроизведением мультимедийного контента в браузере через виджет Media Player, когда не удалось получить картинку с обложкой альбома.
В конфигураторе на странице настройки экрана унифицирован размер всех слайдеров.
Ограничение на максимальное число виртуальных рабочих столов увеличено с 20 до 25 (позволяет отображать виртуальные рабочие столы в сетке 5x5).
Добавлена поддержка портала xdg для доступа к USB-устройствам из изолированных приложений.
Добавлена поддержка настройки визуального выделения рамок и контуров элементов интерфейса, для которых используется тема оформления Breeze. Среди прочего возможно полное отключение разделителей элементов или контрастное разделение выбранным цветом.
На системах с ядром Linux 6.20, разработка которого ещё не началась, и соответствующей аппаратной поддержкой реализована возможность корректировки чёткости всего содержимого экрана.
В интерфейс выбора обоев рабочего стола для показа в режиме слайдшоу добавлены кнопки установки и снятия выделения со всех миниатюр.
В конфигураторе переделан интерфейс настройки Bluetooth. Добавлены рамки для кнопок элементов списка, добавлен текст на кнопки "Connect" и обеспечено скрытие вкладки с параметрами активного устройства при выключенном Bluetooth.
В конфигураторе на странице выбора обоев реализованы дополнительные отступы.
Улучшено отображение содержимого на страницах с информацией о системе.
Добавлена комбинация клавиш Meta+I для вызова конфигуратора.
Реализована возможность использования ключевого слова "dxdiag", привычного пользователям Windows, для вывода информации о графической подсистеме при поиске.
В текстовых полях задействован стандартный стиль кнопок для встроенных действий.
В Discover добавлена кнопка для повторной проверки наличия обновлений, показываемая в диалоге после завершения очередной установки обновлений и вывода запроса на перезагрузку.
В GTK-теме Breeze GTK по аналогии с Qt-темой Breeze прекращено использование градиентов на кнопках.
Унифицирован размер слайдеров на странице настройки экрана в конфигураторе.
Внесеныоптимизации, позволившие снизить потребление оперативной памяти в KDE Plasma более чем на 100 МБ за счёт выгрузки из памяти неиспользуемых изображений, формируемых для показа обоев рабочего стола. Ценой оптимизации стала невозможность использования мозаичного режима (tiled) отображения обоев, применяемых для воссоздания ретро-оформления в стиле KDE 1. Функциональность для работы с подобными обоями вынесена из основного кода работы с изображениями в отдельный плагин "Tiled".
Реализована настройка "KWin Scripts -> Enable Virtual Desktops Only on Primary", допускающая привязку окон к виртуальным рабочим столам только на первичном экране - на вторичных дисплеях окна всегда остаются видимыми, независимо от активного виртуального рабочего стола.
В виджет управления сетевым соединением добавлена кнопка для подключения к сети с получением параметров Wi-Fi через сканирование QR-кода.
В конфигураторе на странице с настройками подключения к удалённым рабочим столам в основном интерфейсе обеспечено отображение предупреждения о возникновении ошибок без необходимости открытия лога в случае сбоев.
В DrKonqi, утилите для отправки отчётов о сбоях, реализован учёт аварийных завершений приложений, не связанных с KDE, а также возможность отправки отчётов о сбоях в подобных программах разработчикам или сопровождающим в дистрибутиве.
При использовании "пипетки" (color picker) для определения цвета пикселя на экране теперь передаётся исходное RGB-значение цвета, а не значение после обработки фильтрами (например, фильтра для ночного режима) или использования профиля ICC.
При отображении GTK-приложений с использованием темы оформления
Breeze реализованы дополнительные отступы для панелей инструментов (крайние элементы панелей касались краёв окна) и исключено появление неэстетичных чёрных линий-разделителей.
Обеспечена обработка активных углов (Hot-corner) для вызова действий на всех экранах в многомониторных конфиграциях, а не только на первом экране. При желании новое поведение можно отключить в настройках.
В виджет калибровки HDR добавлена страница для определения максимальной усреднённой яркости при отображении в полноэкранном режиме.
Улучшена работа операций drag-and-drop между окнами приложений на базе Wayland и XWayland.
В программу для создания скриншотов Spectacle встроена функция оптического распознавания символов (OCR), позволяющая преобразовывать присутствующие на изображении слова в выделяемый текст. В текущем виде функциональность OCR ограничена Spectacle, но в дальнейшем её планируют выделить в библиотеку и задействовать в других приложениях KDE. Распознавание текста осуществляется при помощи пакета
Tesseract и активируется только при его наличии в системе.
Переработано оформление диалогов подтверждения полномочий и выбора приложения для обработки определённого контента.
Переработан интерфейс настройки виджета с таймером (вместо двух страниц предложен унифицированный блок настроек).
Объединены на одной странице разрозненные настройки системного лотка.
В интерфейсе смены темы оформления предоставлена возможность предпросмотра тёмных вариантов тем оформления GTK.
Обеспечено запоминание отказа регистрации последовательности клавиш, запрашиваемой при запуске приложения (при последующих запусках повторные запросы больше не выводятся).
Обеспечено сохранение позиции пиктограммы на рабочем столе после переименования файла или каталога.
Повышено качество и чёткость отображения информации при использовании дробного коэффициента масштабирования в сочетании с программным рендерингом.
Цикличное аварийное завершение процесса больше не приводит к исчерпанию памяти и зависанию системы.
В набор пиктограмм Breeze добавлена пиктограмма для файлов с кодом на языке Nim.
В KDE Plasma и KWin значительно повышена плавность анимации при использовании экранов с частотой обновления больше 60Hz.
Проведена оптимизация KWin, сократившая выполнение лишних действий при композитинге.
Предоставлена возможность пометки отдельных окон для их исключения при захвате содержимого экрана (в скринкастах подобные окна и связанные с ними всплывающие окна будут скрыты). Окно можно пометить через контекстные меню в заголовке и менеджере задач, а также в редакторе оконных правил.
Предоставлена возможность настройки насыщенности фона для эффекта размытия содержимого. В тёмной цветовой схеме по умолчанию реализовано более тёмное размытие, а насыщенность увеличена на 150%.
Модернизирован интерфейс диалогового окна для управления удалённым доступом (1, 2, 3, 4).
При прокручивании сгруппированных пиктограмм в менеджере задач, окна теперь выводятся в порядке последнего обращения к ним, без приоритезации полноэкранных задач.
В редакторе меню (KMenuEdit) реализована поддержка выделения одновременно нескольких элементов для ускорения массового удаления.
Из виджета буфера обмена (klipper) убрана кнопка для показа диалога просмотра QR-кода - QR-код теперь сразу показывается в интерфейсе.
В конфигураторе при попытке удаления целиком группы ярлыков реализован запрос на подтверждение операции с подсветкой подлежащих удалению элементов.
В композитном менеджере KWin реализована эмуляция расширения XRandr, применяемого для динамического изменения разрешения, вращения, трансформации и зеркалирования содержимого экрана. Реализованная поддержка решила проблемы с отображением полноэкранных X11-приложений на широкоформатных экранах при использовании XWayland.
Продолжена модернизация диалоговых окон для доступа изолированных приложений к внешним ресурсам (XDG portal). Упрощён интерфейс для выбора окон и экрана.
В web-браузер и виджет управления громкости добавлена кнопка закрепления (pin) для оставления открытыми всплывающих окон, вызываемых из панели.
Улучшено отображение состояния дисков на странице SMART-диагностики в конфигураторе.
В приложениях на базе фреймворка Kirigami и QtWidgets унифицированы высота заголовков и отступы между элементами в списках.
В панельном виджете с меню приложений (Kicker) налажен показ подменю при быстром перемещении курсора по элементам меню верхнего уровня. Обеспечено раскрытие подменю по левую сторону от родительского элемента в случае размещения виджета в правой боковой панели.
В меню приложений Kickoff добавлена возможность использования клавиш управления курсором для возвращения из области с результатами поиска к полю для ввода поискового запроса.
Добавлена возможность назначения глобально действующих комбинаций клавиш для перемотки воспроизводимого контента вперёд или назад на 5 и 30 секунд. Комбинации назначаются пользователем и поддерживаются в мультимедийных проигрывателях, реализующих протокол удалённого управления MPRIS.
В виджете со списком окон реализованы настройки для показа меню при наведении курсора мышью и скрытия пиктограммы окна (останется только название окна).
Реализована возможность настройки порядка показа пиктограмм в виджете завершения сеанса и блокировки экрана.
Убран вывод уведомления об ошибке в случае отмены вставки файлов на рабочий стол из буфера обмена.
Повышена производительность выделения элементов на рабочем столе при помощи расширяемой мышью прямоугольной рамки.
При отключении анимации в системных настройках реализовано автоматическое выставление опции
"reduced-motion", информирующей приложения о необходимости минимизировать использование анимации.
Добавлена возможность автоматической настройки яркости экрана на устройствах с датчиком освещённости.
В конфигураторе на страницу настройки сетевого подключения и Wi-Fi добавлена информация о подключённых беспроводных сетях, аналогичная сведениям, показываемым в панельном апплете.
В менеджере приложений Discover реализовано отображение информации о числе доступных обновлений.
Обходным путём решена проблема с некорректным отображением цветов при запуске Windows-игр с поддержкой HDR в Wine или Proton.
В уведомления о скриншотах добавлена кнопка "Open Containing Folder" для открытия каталога, в который сохраняются скриншоты.
В виджет со списком окон добавлена возможность исключения окон, открытых на других экранах и виртуальных рабочих столах.
В обработчик сворачивания всех окон добавлено действие Meta+Shift+O для минимизации всех окон, кроме текущего.
В сеансе на базе Wayland значительноулучшена поддержка зеркалирования содержимого на нескольких экранах.
Добавлена возможность использования в Wayland-сеансе утилиты kscreen-doctor для добавления собственных режимов экрана.
Добавлена возможность перемещения окон стилусом графического планшета (смещение стилуса при удержании клавиши Meta).
Решены проблемы с аварийным завершением при использовании в Plasma стороннего плагина WallpaperEngineKDE.
Сокращено возникновение пропусков кадров (frame drop) на мониторах с очень высокой частотой обновления.
В приложениях, использующих xdg-desktop-portal-kde, добавлена возможность предотвращения завершения сеанса, например, из-за наличия несохранённых документов.
Исследователи из команды Google Project Zero подробно разобрали технику создания рабочего эксплоита, позволяющего удалённо выполнить свой код с правами ядра Linux, через отправку SMS- или RCS-сообщения со специально оформленным звуковым вложением. Атака осуществляется без выполнения каких-либо действий пользователем, в том числе не требует просмотра или прослушивания полученного сообщения.
В эксплоите задействованы две уязвимости: в библиотеке Dolby Unified Decoder (CVE-2025-54957) и драйвере bigwave для ядра Linux (CVE-2025-36934). Ранее для эксплуатации уязвимостей в кодеках было необходимо, чтобы пользователь прослушал или просмотрел полученный вредоносный контент. После интеграции AI-помощников в последних выпусках Android-прошивок полученный мультимедийный контент автоматически декодируется после получения, что существенно увеличивает поверхность атак, не требующих действий от пользователя (0-click). В контексте звуковых SMS- и RCS-сообщений, приложение Google Messages при помощи сервиса com.google.android.tts автоматически формирует транскрипцию для применения к звуковым сообщениям текстового поиска, что позволяет без участия пользователя эксплуатировать уязвимости в имеющихся звуковых кодеках.
Проблема в Dolby Unified Decoder вызвана целочисленным переполнением при расчёте размера буфера под обрабатываемые структуры данных syncframe, что может использоваться для записи за пределы выделенного буфера. В результате переполнения может быть перезаписан указатель, используемый при обработке следующего синхронизирующего кадра, изменение которого, в свою очередь, позволяет перезаписать контролируемыми атакующим данными указатель на функцию и организовать выполнение своего кода с правами "mediacodec", ограниченными через SELinux.
Для эксплуатации ядра Linux была задействована уязвимость в драйвере bigwave, отвечающем за работу с символьным устройством /dev/bigwave, к которому был открыт доступ из SELinux-контекста "mediacodec". Уязвимость позволяла перезаписать структуры ядра через манипуляции с ioctl-вызовом BIGO_IOCX_PROCESS и добиться выполнения кода с правами ядра.
Уязвимость в библиотеке Dolby Unified Decoder (libcodec2_soft_ddpdec.so), предоставляющей функции для декодирования форматов Dolby Digital (DD, AC-3) и Dolby Digital Plus (DD+, EAC-3), не специфична для Android и прошивки к Pixel 9, и также проявляется в других платформах (Samsung S24, MacBook Air M1, iPhone 17 Pro, Windows, ChromeOS и т.п.). В Android-репозитории AOSP и прошивке к Samsung S24 к процессам, запускаемым в контексте mediacodec, применяется seccomp-фильтр системных вызовов, затрудняющий дальнейшую эксплуатацию уязвимостей в ядре. В прошивке для Pixel 9 подобный фильтр отсутствовал. От атаки мог бы защитить механизм Memory Tagging (MTE), но он доступен для устройств Pixel 8+ только в форме опции, активируемой при включении режима "Advanced Protection". В macOS и iOS эксплуатацию затрудняет сборка библиотеки с флагом "-fbounds-safet", подставляющим дополнительные проверки выхода за границу массивов, которые снижают производительность.
Исследователями отдельно разбираются проблемы с доведением до пользователей исправления уязвимости в Dolby Unified Decoder. Сведения об уязвимости были раскрыты публично за 82 дня до доведения исправления до пользователей устройств Pixel. Компания Dolby была информирована о проблеме 26 июня 2025 года. Первое бинарное исправление было выпущено 18 сентября для ChromeOS, но для устройств Android компания Dolby предоставила бинарные патчи лишь 8 октября. 15 октября была публично раскрыта информация об уязвимости. 12 ноября исправление выпустил Samsung и только 5 января было опубликовано исправление для устройств Pixel. Распространение патча для всех Android-устройств потребовало 139 дней.
В Dolby Unified Decoder уязвимость была выявлена менее чем за два дня, а в драйвере BigWave - менее чем за день рецензирования. Трудозатраты на разработку рабочего эксплоита для уязвимости в Dolby Unified Decoder оценены в 8 недель при работе одного исследователя, а для BigWave - 3 недели. В опубликованном 14 октября отчёте компании Dolby уязвимость в Dolby Unified Decoder была помечена как имеющая незначительный уровень опасности, несмотря на передачу деталей о разрабатываемом эксплоите. Уязвимости в BigWave присвоили в Android средний уровень опасности (Moderate), мотивировав это тем, что атака возможна только из привилегированного контекста и недоступна для непривилегированных контекстов (спустя три месяца статус уязвимости был изменён на "опасная проблема").
Некоммерческий удостоверяющий центр Let's Encrypt, контролируемый сообществом и предоставляющий сертификаты безвозмездно всем желающим, начал выдавать бесплатные сертификаты для IP-адресов, а также предоставил возможность получения TLS-сертификатов, время жизни которых ограничено 160 часами (6 днями). 13 мая намерены добавить поддержку опциональной выдачи сертификатов, действующих 45 дней. В соответствии с ранее объявленным планом 10 февраля 2027 года максимальный срок действия сертификатов будет сокращён с 90 до 64 дней, а 16 февраля 2028 года - до 45 дней.
Доступные с сегодняшнего дня сертификаты для IP-адресов выдаются на 6 дней и позволяют настроить защищённый шифрованный доступ к хостам не только при использовании доменных имён, но и при обращении напрямую по IP-адресу. Защищённое обращение к web-серверу по IP-адресу может быть полезно при взаимодействии с домашними устройствами; при начальной настройке или тестировании новых серверов; для организации шифрованных соединений между бэкендами во внутренней инфраструктуре; для создания показываемых при обращении по IP страниц-заглушек; при развёртывании личных серверов; для организации доступа к серверам DoH (DNS over HTTPS) напрямую по IP.
Сертификаты для доменов, время действия которых ограничено 6 днями, могут применяться для повышения безопасности инфраструктуры - в случае незаметной утечки сертификата в результате взлома, короткоживущие сертификаты помешают злоумышленникам длительное время контролировать трафик жертвы или использовать сертификаты для фишинга.
Для запроса короткоживущего сертификата для домена и сертификата для IP-адреса требуется наличие в ACME-клиенте поддержки расширения протокола, реализующего профили, а также поддержки профиля "shortlived". Для подтверждения владения IP-адресом можно использовать только методы http-01 и tls-alpn-01 (метод dns-01 запрещён).
Представлен первый альфа-выпуск среды рабочего стола GNOME 50. Релиз намечен на 18 марта 2026 года. Для тестирования альфа-версии GNOME 50 сформирован iso-образ (3 ГБ) на базе дистрибутива GNOME OS.
Ключевым изменением в альфа-версии GNOME 50 стало удалениекода для поддержки протокола X11 из пользовательской оболочки GNOME Shell и композитного сервера Mutter. В дисплейном менеджере GDM
удалена поддержка X11 и прекращена возможность сборки GDM без Wayland, но сохранена поддержка запуска других сред рабочего стола, использующих X11. В gnome-session прекращена поддержка выполнения сеансов на базе X11, а из gnome-settings-daemon удалена опция "-Dx11" и возможность настройки параметров X11.
Отныне в GNOME возможно использование только сеанса на базе Wayland, а поддержка работы под управлением X-сервера полностью прекращена. Возможность запуска X11-приложений при помощи XWayland сохраняется. Предполагается, что прекращение поддержки X11 снизит трудозатраты на сопровождение и высвободит ресурсы, которые можно будет направить на улучшения качества работы современного графического стека.
В дистрибутивах поддержка сеанса GNOME на базе X11 ранее была прекращена в Ubuntu 25.10, Fedora 43 и RHEL 10. В библиотеке GTK бэкенд для протокола X11 объявлен устаревшим и в GTK5 планируют оставить только поддержку Wayland. Сеанс на базе протокола Wayland применяется в GNOME по умолчанию с 2016 года.
Реализована новая система сохранения сеансов, основанная на использовании systemd, и добавлен объект GsmSessionSave, обеспечивающий сохранение состояния отдельных приложений. Помимо сохранения позиций окон после восстановления, приложениям GNOME предоставлена возможность восстановления состояния, например, GNOME Calculator может восстановить выбранный режим вычислений. В конфигуратор добавлен переключатель, позволяющий отключить режим сохранения списка запущенных приложений во время завершения сеанса и восстановления их окон в последующем сеансе.
Некоторые собственные компоненты для запуска экрана входа в систему заменены на штатные возможности systemd, что усилило зависимость GNOME от данного системного менеджера и требует создания новых прослоек для поставки GNOME в дистрибутивах и операционных системах, не использующих systemd. В GDM задействована инфраструктура systemd-userdb, предоставляемая systemd. Удалён встроенный менеджер сервисов, который функционировал на уровне запуска desktop-файлов.
В дисплейный менеджер GDM добавлен сервис "gnome-headless-session@<username>.service" для упрощения запуска сеансов без экрана (например, при удалённом доступе к рабочему столу через RDP).
Конфигуратор (gnome-control-center) переведён на использование языка построения интерфейсов Blueprint. Удалён бэкенд настройки для X11.
Мастер начальной настройки (gnome-initial-setup) переведён на использование по умолчанию run0 для запуска привилегированных действий вместо pkexec.
В файловом менеджере Nautilus улучшена загрузка миниатюр, переработан механизм переименования групп файлов, сокращено потребление памяти, разрешено использование нескольких фильтров типов файлов при поиске, в контекстное меню корзины добавлена ссылка на настройки.
На экране входа реализована группировка списка сеансов в привязке к имени дисплея.
Переработан интерфейс родительского контроля. Добавлены новые возможности для отслеживания времени работы с экраном, фильтрации web-контента и задания времени для перехода ко сну. Например, родители теперь могут назначить вечернее время, после которого ребёнок не сможет разблокировать экран. Также доступна опция, позволяющая ребёнку запросить у родителя дополнительное время в случае истечения назначенного ему дневного лимита.
Компания Collabora подготовила инструментарий openwrt-one-debian для установки и запуска Debian GNU/Linux на открытом маршрутизаторе OpenWrt One. Инструментарий позволяет превратить OpenWrt One из специализированного сетевого устройства с урезанным Linux-окружением в полноценную Linux-систему общего назначения, среди прочего, позволяющую запускать любые сервисы, серверные приложения, инструменты для разработчиков и изолированные контейнеры.
Работа инструментария сводится к прошивке во встроенный 256-мегабайтный NAND Flash загрузчика u-boot и recovery-окружения для установки и загрузки системного образа Debian на NVMe-накопитель, подключённый через слот M.2. NOR Flash не меняется, поэтому при желании всегда можно откатиться на штатное окружение с OpenWrt. Устанавливаемое системное окружение содержит минимальный инструментарий для установки пакетов из репозиториев Debian, SSH-сервер на базе OpenSSH, Hostapd с преднастройками для беспроводных интерфейсов, systemd-networkd с настройками для получения IP-адресов для WAN- и LAN-интерфейсов через DHCP и правила udev для светодиодных индикаторов.
Маршрутизатор OpenWrt One, развиваемый совместно проектами OpenWrt и Banana Pi, оснащён SoC MediaTek MT7981B (Filogic 820) с двухъядерным CPU Cortex-A53 1.3 GHz, беспроводным чипом MediaTek MT7976C (Wi-Fi 6, 2x2 2.4 GHz + 3x3/2x2 + DFS 5Ghz), 1 ГБ ОЗУ (DDR4), 256 МБ SPI NAND Flash и 16 МБ SPI NOR Flash. Устройство поставляется с двумя портами Ethernet (2.5 GbE + 1 GbE), USB 2.0 host Type-A, слотом M.2 для NVMe SSD, USB-C (Holtek HT42B534-2 UART с преобразователем USB, консолью и поддержкой CDC-ACM), JTAG 10-pin и слотом для расширений mikroBUS. Предоставляются схемы и распайки печатной платы.
Команда сопровождающих Debian, отвечающих за пакеты с GNOME, планирует не поставлять инструментарий GTK2 в составе дистрибутива Debian 14, релиз которого ожидается летом 2027 года. Разработчики проекта GTK прекратили сопровождение GTK2 более пяти лет назад и сопровождение заброшенного GTK2 в основном репозитории становится проблематичным. Из дистрибутивов, уже прекративших поставку GTK2, отмечаются Red Hat Enterprise Linux, SUSE Linux Enterprise Server 16, openSUSE 16 и Arch Linux. Debian предлагается последовать их примеру.
Из значимых проектов, завязанных на GTK2, до недавних пор оставался GIMP, но начиная с GIMP 3.0 данный графический редактор портирован на GTK3. GTK также используется в популярном звуковом редакторе Ardour, но данный проект не зависит от внешних библиотек и поддерживает собственный форк GTK2 - YTK.
Наиболее серьёзной проблемой, блокирующей удаление GTK2, является то, что GTK2 продолжает использоваться в графическом инсталляторе Debian. В репозитории Debian также остаётся около 150 пакетов, связанных зависимостями с GTK2, и в случае прекращения поставки GTK2 эти пакеты придётся удалить, так как в основной массе они не развиваются и их портирование на GTK3 маловероятно.
У многих из данных пакетов сохраняются активные пользователи, которые не намерены переходить на другие программы. Также нашлись разработчики, выступившие за сохранение поддержки GTK2 в Debian и считающие повод для его удаления надуманным. Например, упоминание, что GTK3 вышел 15 лет назад, не имеет смысла, так как GTK3 не заменяет GTK2, так же как GTK4 не заменяет GTK3.
Под сомнение также ставятся такие доводы, как отсутствие поддержки HiDPI и Wayland в GTK2, так как она в нём и не нужна и пользователей всё устраивает. Неуместным называется сравнение с Arch Linux, в котором GTK2 исключён из основного репозитория, но доступен в неофициальных. При обсуждении также задан вопрос, чем GTK2 хуже GCC 3.3, который поставлялся более 20 лет, вплоть до Debian 12, из которых 16 лет лишь для предоставления libstdc++5 для устаревших исполняемых файлов.
Сторонники удаления GTK2 одной из причин называют невозможность обеспечения безопасности пакета, а противники парируют тем, что до сих пор безопасность GTK2 в Debian мало кого беспокоила, и последняя ошибка, помеченная как уязвимость, датирована 2015 годом.
В настоящее время ведётся обсуждение способов оставления возможности поддержки в дистрибутиве приложений, завязанных на GTK2. В качестве одного из вариантов предлагаетсявынести GTK2 и завязанные на него приложения в отдельный неофициальный репозиторий. Из идей также упоминается создание обвязки, транслирующей API GTK2 в GTK3, и переход к поставке форка GTK2 от проекта Ardour. Также предложено не удалять сразу пакеты, а перевести их в состояние "orphaned", в надежде, что найдётся желающий продолжить их сопровождение.
После двух лет разработки представлен стабильный релиз модульного многоплатформенного менеджера загрузки GNU GRUB 2.14 (GRand Unified Bootloader). GRUB поддерживает широкий спектр платформ, включая обычные ПК с BIOS, платформы IEEE-1275 (оборудование на базе PowerPC/Sparc64), EFI-системы, системы с процессорами RISC-V, Loongson, Itanium, ARM, ARM64, LoongArch и ARCS (SGI), устройства, использующие свободный пакет CoreBoot. Код проекта написан на языке Си и распространяется под лицензией GPLv3.
Добавлена поддержка контроля целостности данных в логических томах LVM (LVM LV), реализуемая при помощи dm-integrity.
Добавлена поддержка конфигураций, использующих LVM cachevol для ускорения доступа к медленным дискам за счёт кэширования данных на быстрых накопителях.
Добавлена поддержка файловой системы EROFS (Extendable Read-Only File System), разработанной компанией Huawei для использования на разделах, доступных в режиме только для чтения. Структура EROFS существенно упрощена за счёт отбрасывания при реализации некоторых областей метаданных, таких как битовая карта свободных блоков. EROFS поддерживает хранение данных в сжатом виде, но использует иной подход для хранения сжатых блоков, оптимизированный для достижения высокой производительности при случайном доступе к данным.
Добавлена возможность размещения блока с переменными окружения GRUB в зарезервированную область заголовка файловой системы Btrfs. В подобных переменных могут сохраняться данные об используемом по умолчанию загрузочном разделе.
Добавлена поддержка запуска EFI-образов GRUB в режиме защиты NX (No Execute), запрещающем исполнение инструкций в областях памяти, специально не помеченных, как допустимые для исполнения.
Добавлена поддержка протокола Shim loader, используемого для верифицированной загрузки shim-прослойки для загрузки в режиме UEFI Secure Boot.
Добавлена поддержка загрузки унифицированных образов ядра UKI (Unified Kernel Image), объединяющих обработчик для загрузки ядра из UEFI (UEFI boot stub), образ ядра Linux и загружаемое в память системное окружение initrd, применяемое для начальной инициализации на стадии до монтирования корневой ФС. UKI-образ оформляется в виде одного исполняемого файла в формате PE, который может быть загружен при помощи традиционных загрузчиков или напрямую вызван из прошивки UEFI.
Добавлена поддержка универсальной конфигурации загрузчика в формате BLS (Boot Loader Specification), для разбора которой реализована команда blscfg.
Добавлена поддержка схемы хэширования паролей Argon2.
Добавлена поддержка механизма "TPM2 key protector" для автоматической разблокировки зашифрованного раздела при загрузке, благодаря хранению информации для расшифровки ключей в TPM (Trusted Platform Module).
Добавлена поддержка прикрепляемой цифровой подписи (Appended Signature, применяется для прикрепления подписи к модулям ядра Linux без изменения самого файла) при верификации загрузки в режиме Secure Boot на системах PowerPC.
Реализована опция "--disable-cli" для блокировки интерфейса командной строки GRUB и запрета редактирования элементов меню.
Добавлена поддержка дат, не попадающих в диапазон 1901-2038.
Добавлена поддержка распаковки данных, сжатых при помощи алгоритма ZSTD.
Осуществлён переход на использование новой ветки криптографической библиотеки Libgcrypt 1.11.0 (ранее использовался выпуск libgcrypt 1.5.3, сформированный в 2013 году).
Опубликован выпуск P2P-платформы Radicle 1.6, нацеленной на создание децентрализованного сервиса совместной разработки и хранения кода, похожего на GitHub и GitLab, но не привязанного к конкретным серверам, не подверженного цензуре и работающего с использованием ресурсов участников P2P-сети. Платформа поддерживает типовые элементы социального взаимодействия разработчиков, такие как issue, патчи и рецензии на код. Наработки проекта написаны на языке Rust и распространяются под лицензиями Apache 2.0 и MIT. Сборки подготовлены для Linux и macOS. Дополнительно развиваются десктоп-клиент, web-интерфейс и консольный интерфейс.
Radicle позволяет не зависеть при разработке и распространении кода от централизованных платформ и корпораций, привязка к которым вносит дополнительные риски (единая точка отказа, компания может закрыться или изменить условия работы). Для управления кодом в Radicle используется привычный Git, расширенный средствами определения репозиториев в P2P-сети. Все данные в первую очередь сохраняются локально (концепция local-first) и всегда доступны на компьютере разработчика, независимо от состояния сетевого подключения.
Участники предоставляют доступ к своему коду и связанным с кодом артефактам, таким как патчи и обсуждения исправления ошибок (issues), которые сохраняются локально и реплицируются на узлы других заинтересованных разработчиков, подключённые к общей децентрализованной P2P-сети. В итоге формируется глобальный децентрализованный Git-репозиторий, данные которого реплицированы и продублированы на разных системах участников.
Для определения соседних узлов в P2P-сети применяется протокол Gossip, а для репликации данных между узлами протокол Heartwood, основанный на Git. Так как протокол основан на Git, платформу легко интегрировать с существующими инструментами для разработки на Git. Для идентификации узлов и верификации репозиториев используется криптография на основе открытых ключей, без применения учётных записей. Аутентификация и авторизация осуществляется на основе открытых ключей без централизованных удостоверяющих серверов.
Каждый репозиторий в P2P-сети имеет свой уникальный идентификатор и самосертифицирован (self-certifying), т.е. все действия в репозитории, такие как добавление коммитов и оставление комментариев к issue, заверяются владельцем цифровой подписью, позволяющей убедиться в корректности данных на других узлах без использования централизованных удостоверяющих центров. Для получения доступа к репозиторию достаточно, чтобы в online находился хотя бы один узел, на котором имеется его реплицированная копия.
Узлы в P2P-сети могут подписываться на определённые репозитории и получать обновления. Возможно создание приватных репозиториев, доступных только определённым узлам. Для управления и владения репозиторием используется концепция "делегатов" (delegates). Делегатом может быть как отдельный пользователь так и бот или группа, привязанные к специальному идентификатору. Делегаты могут принимать в репозиторий патчи, закрывать issue и задавать права доступа к репозиторию. К каждому репозиторию может быть привязано несколько делегатов.
Radicle-репозитории хранятся на системах пользователей в виде обычных git-репозиториев, в которых присутствуют дополнительные пространства имён для хранения данных пиров и форков, с которыми осуществляется текущая работа. Обсуждения, предлагаемые патчи и компоненты для организации рецензирования тоже сохраняются в git-репозитории в виде совместных объектов (COB - Collaborative Objects) и реплицируются между пирами.
В новом выпуске:
Реализации узла Radicle (radicle-node) переведена на использование библиотеки ввода/вывода Mio. Из зависимостей исключены пакеты netservices, io-reactor и popol, которые мешали добиться должного уровня многоплатформенности. Добавлен новый модуль reactor, в рамках которого io-reactor переписан на базе Mio.
Переход на Mio позволил реализовать поддержку платформы Windows, которая пока имеет статус экспериментальной.
Код для разбора аргументов командной строки переведён на библиотеку clap, что унифицировало поведение при разборе аргументов и привнесло в утилиту rad такие возможности как автоматическая генерация подсказки по командам, вывод рекомендаций по устранению ошибок, подсветка вывода и автодополнение команд.
В radicle-node добавлена поддержка механизма systemd Credentials для безопасной передачи ключей доступа (xyz.radicle.node.secret) и паролей для их расшифровки (xyz.radicle.node.passphrase) в дополнение к использованию переменной окружения RAD_PASSPHRASE, опции командной строки "--secret" и параметров в файле конфигурации.
Требования к минимально поддерживаемой версии компилятора Rust повышены до 1.85.
Представлен релиз дистрибутива Linux Mint 22.3, продолжающий развитие ветки на пакетной базе Ubuntu 24.04 LTS. Дистрибутив полностью совместим с Ubuntu, но существенно отличается подходом к организации интерфейса пользователя и подбором используемых по умолчанию приложений. Разработчики Linux Mint предоставляют десктоп-окружение, соответствующее классическим канонам организации рабочего стола, которое является более привычным для пользователей, не принимающих новые методы построения интерфейса GNOME 3. Для загрузки доступны DVD-сборки на базе оболочек MATE (3.1 ГБ), Cinnamon (3 ГБ) и Xfce (3 ГБ). Ветка Linux Mint 22 отнесена к выпускам с длительным сроком поддержки (LTS), обновления для которых будут формироваться до 2029 года.
Утилита "System Reports" существенно расширена и переименована в приложение "System Information", в котором помимо страниц с общей информацией о системе и отправки отчётов о проблемах добавлены четыре новых раздела с детальной информацией о подключённых USB-устройствах, PCI-компонентах, GPU и BIOS (сведения о прошивках, материнской плате и режимах загрузки).
Добавлено новое приложение "System Administration", запускаемое с правами root и включающее сведения и настройки для администратора. В настоящее время в приложении имеется одна секция "Boot menu", в которой можно управлять показом загрузочного меню и изменять параметры загрузки.
Вместо набора символьных пиктограмм Adwaita задействован собственный набор пиктограмм XSI (XApp Symbolic Icons).
В оконном менеджере muffin значительно улучшена совместимость с Wayland.
Среда рабочего стола Cinnamon обновлена до выпуска 6.6 с переделанным меню приложений, в котором появилась боковая панель с аватаром пользователя, избранными каталогами и часто используемыми приложениями. Реализованы всплывающие подсказки с описанием программ, показываемые при наведении курсора на имена приложений. Разделено отображение закладок и избранных каталогов. Упрощена навигация по меню при помощи клавиатуры.
Список категорий программ в меню оформлен более компактно, для наглядного выделения категорий задействованы символьные пиктограммы.
Добавлена опция для размещения системных кнопок (блокировка экрана, спящий режим, выключение) в верхнем правом углу, в нижней части меню приложений или боковой панели. Также добавлена настройка для переноса поисковой строки в верхнюю часть меню.
В конфигуратор добавлены настройки для скрытия различных элементов меню. Например, можно скрыть боковую панель или настроить её содержимое (закладки, избранные каталоги, часто используемые приложения, системные кнопки).
Переделана работа с клавиатурой. Предоставлена поддержка переключения раскладки клавиатуры при использовании Wayland и улучшена поддержка методов ввода. Разделены настройки традиционных раскладок и методов ввода IBus.
В апплете переключения раскладки добавлена поддержка разных типов раскладок клавиатуры и IBus.
Переделана экранная клавиатура, которая больше не использует libcaribou и поддерживает переключение раскладки.
В систему уведомлений добавлена опция для показа в первую очередь новых уведомлений. Реализованы значки для индикации числа непросмотренных уведомлений.
Улучшен апплет переключении виртуальных рабочих столов, в котором обеспечен показ эскизов рабочих столов с пиктограммами видимых окон. В интерфейс переключения между окнами по Alt+Tab добавлена опция для показа только окон на текущем мониторе.
В конфигураторе в отдельную вкладку выделены настройки мозаичного режима. Добавлена секция для настройки параметров устройств с интерфейсом Thunderbolt.
Добавлен апплет для включения ночной подсветки ("Night Light"), позволяющей менять цветовую температуру в зависимости от времени суток. При работе в ночное время автоматически уменьшается интенсивность синего цвета на экране, что делает цветовую гамму более тёплой для снижения напряжения глаз и сокращения факторов возникновения бессонницы при работе перед сном.
В файловом менеджере Nemo добавлен интерфейс работы с шаблонами для быстрого вызова приложений для создания различных типов файлов. Реализована поддержка приостановки и возобновления операций с файлами, таких как копирование и перемещение. Повышена точность поиска файлов с использованием регулярных выражений.
Улучшена генерация миниатюр.
Расширены возможности приложений, построенных на базе библиотеки xapp, предоставляющей надстройку над GTK с элементами для унификации работы в различных пользовательских окружениях (Cinnamon, MATE и Xfce). В приложениях XApps применены современные технологии (GTK3 для поддержки HiDPI, gsettings и т.п.), но сохранены традиционные элементы интерфейса, такие как панель инструментов и меню. Среди таких приложений: текстовый редактор Xed, менеджер фотографий Pix, просмотрщик документов Xreader, просмотрщик изображений Xviewer.
В программе для резервного копирования Timeshift реализована возможность приостановки и возобновления операций создания снапшотов.
В IPTV-проигрывателе Hypnotix обеспечено скрытие курсора мыши в полноэкранном режиме и реализована передача нажатия клавиш в проигрыватель MPV.
В модуль python3-xapp добавлена поддержка многопоточности и функций gettext. Добавлен GTK-виджет "ListEditor" для работы со списками строк.
В приложение Warpinator, обеспечивающее шифрованный обмен файлами между двумя компьютерами, добавлена поддержка IPv6 и возможность отправки текстовых сообщений.
В интерфейс установки пакетов Captain добавлена возможность обработки запросов установки сразу нескольких пакетов через указание списка в форме URL "apt://пакет1,пакет2...".
В панельном индикаторе менеджера приложений реализован вывод пиктограммы, предупреждающей о необходимости выполнить перезагрузку для установки обновлений.
В утилиту mintbackup добавлена кнопка "Include All" для добавления всех скрытых файлов и каталогов в резервную копию.
Как и в прошлом выпуске продолжают поставляться ядро Linux 6.14 и версии сред рабочего стола MATE 1.28 и Xfce 4.20.
Компания Anthropic, продвигающая семейство больших языковых моделей Claude, выделила организации Python Software Foundation (PSF) грант, размером 1.5 млн долларов. Средства будут выделяться постепенно в течение двух лет и рассчитаны на финансирование работы по усовершенствованию CPython и усилению защиты от атак, осуществляемых через зависимости (supply-chain), в репозиторий пакетов PyPI (Python Package Index).
Выделяемые средства планируют направить на разработку новых инструментов для автоматизированного рецензирования пакетов, загружаемых в каталог PyPI (Python Package Index). Вместо ныне применяемой "reactive" схемы, подразумевающей проверку после того как пакет уже доступен в каталоге, намереваются внедрить "proactive" схему, при которой проверка выполняется до того, как пакет станет доступен пользователям. Для выявления вредоносных пакетов намерены использовать анализ функциональности, учитывающий типовые элементы известного вредоносного ПО. Развиваемый инструментарий можно будет использовать не только в PyPI, но и в других открытых репозиториях.
Ранее под реализацию данного плана было одобрено выделение гранта от Национального научного фонда США, от которого организация Python Software Foundation отказалась из-за несоответствия предъявляемых условий миссии проекта Python и финансовых рисков (отзыв уже перечисленных средств, в случае нарушения условий).
Часть средств также планируют потратить на финансирование основной работы организации Python Software Foundation, поддержание инфраструктуры PyPI, инициативу Developers in Residence (финансовая поддержка разработчиков CPython) и гранты представителям сообщества.
После года разработки и 25 экспериментальных версий представлен стабильный релиз открытой реализации Win32 API - Wine 11.0, который вобрал в себя более 6300 изменений и 600 исправлений ошибок. Из ключевых достижений в Wine 11.0 выделяется полная поддержка NTSYNC, механизм Reparse Point, задействование новой реализации архитектуры WoW64, новый бэкенд отрисовки на базе EGL, поддержка буфера обмена и методов ввода в окружениях на базе Wayland, улучшение поддержки Bluetooth и сканеров.
В Wine подтверждена полноценная работа 5419 программ для Windows (год назад 5372, два года назад 5336, три года назад 5266), ещё 4500 программ (год назад 4435, два года назад 4397, три года назад 4370) прекрасно работают при дополнительных настройках и внешних DLL. У 4086 программ (год назад 4020, два года назад 3943, три года назад 3888) наблюдаются небольшие проблемы в работе, которые не мешают использованию основных функций приложений.
Обеспечена полная поддержка драйвера ntsync, позволяющего существенно поднять производительность Windows-игр, запускаемых при помощи Wine. Драйвер входит в состав ядра Linux начиная с выпуска 6.14 и реализует символьное устройство /dev/ntsync и набор примитивов для синхронизации, применяемых в ядре Windows NT. Значительный прирост производительности достигается благодаря избавлению от накладных расходов, связанных с применением RPC в пространстве пользователя.
Добавлена возможность настройки приоритетов потоков в Linux и macOS.
В ntdll добавлен API синхронизации "Synchronization barriers", позволяющий приостановить выполнение нескольких потоков до достижения определённой точки выполнения во всех потоках (например, дождаться пока все потоки достигнут определённой стадии при параллельном выполнении одного и тот же кода).
Переведена в разряд полностью поддерживаемых новая реализация прослойки WoW64 (64-bit Windows-on-Windows), позволяющая выполнять 32-разрядные Windows-приложения в 64-разрядных Unix-системах. В отличие от старой реализации, в которой 32-разрядные приложения запускались в 32-разрядных Unix-процессах, новый WoW64 обеспечивает запуск 32-разрядного кода внутри 64-разрядного процесса.
Также появилась поддержка запуска 16-разрядных приложений в режиме WoW64.
Во всех модулях, обращающихся к Unix-библиотекам, задействованы преобразователи системных вызовов WoW64 (thunk), позволяющие 32-разрядным модулям в формате PE обращаться к 64-разрядным Unix-библиотекам.
Добавлена возможность запуска старых установок в новом режиме WoW64 через выставление переменной окружения "WINEARCH=wow64". 32-разрядные префиксы, создаваемые при выставлении "WINEARCH=win32", объявлены устаревшими и не поддерживаются в новом режиме WoW64. Удалён отдельный загрузчик wine64, вместо которого задействован универсальный загрузчик, определяющий режим по разрядности запускаемого файла.
Ядро (интерфейсы ядра Windows)
Реализован механизм Reparse Point, при помощи которого можно прикреплять к файлам и каталогам дополнительные данные, идентифицируемые через теги. Поддерживаются такие типы Reparse Point, как символические ссылки и точки монтирования.
Для повышения производительности отслеживания операций записи в память задействован механизм UFFD (userfaultfd), дающий возможность создавать обработчики обращений к невыделенным страницам памяти (page faults) в пространстве пользователя. В проведённых тестах применение UFFD позволило сократить время загрузки уровней в игре "Streets of Rage 4" с 6-8 секунд до 1.5-2 секунд, что соответствует показателям запуска на платформе Windows.
Задействованы номера системных вызовов NT, идентичные последним версиям Windows, что необходимо для поддержки приложений, в которых жёстко прописаны номера системных вызовов.
На системах ARM64 реализована возможность симуляции страниц памяти размером 4K в окружениях с ядрами Linux, использующими более крупные страницы памяти (16K или 64K). Симуляция позволяет запускать простые приложения, а для более сложных программ рекомендуется использовать ядра Linux с 4-килобайтовыми страницами памяти.
Графическая подсистема
На системах X11 (winex11) для OpenGL по умолчанию задействован бэкенд отрисовки, использующий EGL. Бэкенд GLX объявлен устаревшим, но пока остаётся доступен в качестве запасного и используется при отсутствии EGL.
Добавлена начальная поддержка объектов D3DKMT, предоставляющих низкоуровневый доступ к графическим устройствам из пространства пользователя. Реализованы Vulkan-расширения VK_KHR_external_memory_win32, VK_KHR_external_semaphore_win32, VK_KHR_external_fence_win32 и VK_KHR_win32_keyed_mutex.
В режиме WoW64 реализована поддержка маппинга памяти для OpenGL при помощи API Vulkan, позволяющего ускорить работу 32-битных OpenGL-приложений в Wine.
Реализована эмуляция буфера отображения (front buffer) для OpenGL на платформах без его встроенной поддержки.
В драйвер для графического API Vulkan добавлена поддержка спецификации Vulkan 1.4.335.
В наборе библиотек WindowsCodecs расширена поддержка метаданных в файлах с изображениями, а также реализована поддержка преобразования между целочисленными форматами представления цвета и форматами с плавающей запятой.
Убрана зависимость от библиотеки OSMesa (Off-screen Mesa). Реализована возможность отрисовки битовых карт через OpenGL с использованием аппаратного ускоренного OpenGL runtime.
Интеграция с рабочим столом
В драйвере winewayland.drv, позволяющем использовать Wine в окружениях на базе протокола Wayland без применения XWayland и компонентов X11, реализована поддержка буфера обмена, методов ввода, непрямоугольных окон и прозрачности.
Улучшена интеграция с X11: обеспечена отправка оконному менеджеру запросов активации окон и задействован протокол EWMH для согласования состояния активных окон X11 и Win32.
Реализована поддержка эксклюзивного полноэкранного режима. Улучшена поддержка полноэкранного режима в D3D и улучшена работа старых игр на базе DDraw.
Повышена производительность некоторых функций работы с окнами. Для взаимодействия между процессами задействована разделяемая память.
Direct3D
В Direct3D 11 добавлена поддержка аппаратного ускорения декодирования видео в формате H.264, реализованная при помощи графического API Vulkan.
В Direct3D 11 реализована поддержка minmax-фильтрации текстур, используя OpenGL-расширение GL_ARB_texture_filter_minmax или Vulkan-расширение VK_EXT_sampler_filter_minmax.
В Direct3D 11 реализованы функции загрузки текстур.
Реализована большая порция возможностей Direct3D при отрисовке через Vulkan, таких как смешивание вершин, плоское затенение, пользовательские плоскости отсечения и различные форматы ресурсов.
Во встроенной копии vkd3d-shader улучшена поддержка 1, 2 и 3 моделей шейдеров.
В методе D3DXSaveSurfaceToFileInMemory реализована поддержка изображений PNG, JPEG и BMP.
Direct3D 10 и 11 реализована поддержка сжатия и распаковки форматов BC4 и BC5, а также генерации MIP-уровней (MipMap) при загрузке текстур.
Реализованы методы ID3DXEffect::SetRawValue() и ID3DXSkinInfo::UpdateSkinnedMesh().
Устройства ввода
Улучшена совместимость с джойстиками, благодаря использованию бэкенда hidraw.
Улучшена поддержка эффекта виброотклика (Force feedback) при использовании игровых рулей и джойстиков.
Улучшена поддержка геймпадов в API Windows.Gaming.Input и при использовании бэкенда evdev.
В апплет управления игровыми контроллерами добавлена вкладка для настройки API Windows.Gaming.Input.
Повышена совместимость DirectInput со старыми играми.
Bluetooth
В драйвере для Bluetooth добавлена возможность сопряжения, сканирования и настройки обнаружения устройств.
Добавлена поддержка сервисов Bluetooth Low Energy GATT (Generic Attribute Profile), к которым можно обращаться через Win32 BLE API.
Приложениям предоставлена возможность создавать низкоуровневые RFCOMM-соединения c внешними устройствами, используя API Winsock.
Поддержка сканеров
Реализована поддержка API TWAIN 2.0, позволяющего обращаться к сканерами из 64-разрядных приложений.
Реализована поддержка компонента DAT_IMAGENATIVEXFER для передачи изображения из сканера в приложение.
Обеспечено сохранение в реестре выбранного сканера и настроек сканера.
Добавлена поддержка многостраничного сканирования и автоподатчи документов.
Прекращена блокировка приложения во время вызова интерфейса сканирования.
Добавлена поддержка загрузки родных Windows-драйверов к сканерам.
Мультимедиа
В библиотеке amstream (Multimedia Streaming) реализован собственный аллокатор потоков DirectDraw, позволяющий повысить эффективность буферизации при использовании фильтров.
В фильтрах DMO Wrapper (DirectX Media Object Wrapper) и AVI Decoder, а также в основанных на GStreamer распаковщиках медиаконтейнеров и трансформирующих фильтрах, реализована возможность динамического изменения формата.
В фильтры для распаковки медиаконтейнеров (demuxer), основанные на GStreamer, добавлена поддержка кодека Indeo 5.0.
В фильтре DirectSound Renderer обеспечена корректная обработка признаков конца потока (end-of-stream).
В фильтре ASF Reader добавлена поддержка смены позиции в потоке.
DirectMusic
Расширена поддержка формата SoundFont (SF2): добавлены возможности для разбора пресетов, инструментов и модуляторов, нормализации громкости инструментов, многослойной компоновки инструментов и повторного использования загруженных сэмплов для экономии потребления памяти.
В синтезаторе звуков реализована автоматическая настройка уровня громкости, решены проблемы с синхронизацией при воспроизведении треков, улучшена обработка событий с информацией о силе нажатия MIDI-клавиш.
Реализована поддержка варианта структуры Style Form, используемого в DirectX 7.
В загрузчике улучшено управление кэшированием.
Добавлена поддержка дополнительных метасобытий MIDI.
Mono / .NET / WinRT
Для запуска приложений, использующих Microsoft XNA Framework 4.0, задействована библиотека SDL3 и отрисовка через API SDL_GPU.
В реализацию WPF (Windows Presentation Framework) добавлен движок компоновки текста (text layout engine), поддерживающий API System.Windows.Documents.
В Windows Forms реализована поддержка тем оформления.
Добавлена начальная реализация класса для загрузки файлов с метаданными Windows Runtime (WinRT), сгенерированными компилятором widl (Wine Interface Definition Language).
Обеспечена генерация БД локалей в формате locale.nls из БД Unicode CLDR (Unicode Common Locale Data Repository) версии 48. Добавлена поддержка дополнительных локалей bua-RU, bqi-IR, cop-EG, ht-HT, kek-GT, lzz-TR, mww-Hmnp-US, oka-CA, pi-Latn-GB, pms-IT, sgs-LT, suz-Deva-NP и suz-Sunu-NP.
Таблицы символов Unicode обновлены до версии стандарта 17.0.0. Обновлена база часовых поясов.
Сетевые возможности
В движке MSHTML в режиме соответствия стандартам обеспечена работа с атрибутами элементов как с полноценными узлами DOM. Реализованы объекты DOMParser, XDomainRequest и msCrypto.
В JavaScript добавлена поддержка типизированных массивов.
Для ICMPv6 реализована команда ping.
БД
В библиотеку MSADO (ActiveX Data Objects) добавлена поддержка записи изменений в БД. Реализовано большинство функций объекта
Recordset.
В библиотеке odbc32 улучшена поддержка ANSI win32-драйверов, не рассчитанных на работу с Unicode. Реализованы функции SQLDriverConnectA(), SQLSpecialColumnsW(), SQLGetInfoW(), SQLGetInfoW(), SQLStatisticsW() и QLColumnsW().
Отладка
В DbgHelp переделан загрузчик PDB-файлов. Новая реализация поддерживает файлы, размером больше 4 ГБ, работает быстрее и потребляет меньше памяти.
Добавлен режим трассировки системных вызовов ядра NT, включаемый переменной окружения "WINEDEBUG=syscall". В отличие от режима "WINEDEBUG=relay" трассировка производится без влияния на выполнение приложений и не нарушая работу программ, перехватывающих обращения к системным вызовам.
Добавлена поддержка одновременной генерации отладочных данных в форматах DWARF и PDB.
Встроенные приложения
В WineCfg добавлена вкладка для настройки MIDI-устройства по умолчанию.
В утилите cmd реализовано автодополнение ввода имён файлов в интерактивном режиме работы, добавлена поддержка сложных инструкций и реализована команда "mklink /j" для создания Reparse Point.
В утилиту conhost (Console Hosting) добавлена поддержка получения истории нажатием клавиш F1 и F3.
Реализованы команды timeout, runas и subst.
В утилиту find добавлены опции "/c" для показа числа совпадений и /i для сопоставлений без учёта регистра.
В утилите whoami появилась возможность настройки формата вывода.
Разное
В реализации языка описания интерфейса WIDL (Wine Interface Definition Language) появилась поддержка генерации метаданных Windows Runtime (WinRT). Обеспечена генерация и установка файлов WinMD (Windows Metadata) для API WinRT (Windows Runtime).
В утилиту winedump добавлена поддержка дампа ресурсов MUI, номеров системных вызовов, встроенных NE-модулей и больших файлов PDB (> 4 ГБ).
Проведён рефакторинг реализации Common Control, библиотека COMCTL32 разделена на отдельные модули для версий 5 и 6.
В BCrypt добавлена поддержка стандарта формирования ключа PBKDF2
Добавлена поддержка каталогов UserProgramFiles, AccountPictures и Screenshots.
В состав интегрированы библиотеки LLVM Compiler-RT 8.0.1 и TomCrypt 1.18.2. Для определения CPU на платформе FreeBSD задействована библиотека HwLoc.
Обновлены до новых версий компоненты Vkd3d 1.18, Faudio 25.12, FluidSynth 2.4.2, LCMS2 2.17, LibMPG123 1.33.0, Libpng 1.6.51, LibTiff 4.7.1, LibXml2 2.12.10, LibXslt 1.1.43.
Добавлена поддержка спецификации Freedesktop.org XDG Base Directory и возможность использования каталога "~/.config/mozilla" для хранения профилей, дополнений, настроек и внутренних БД. Поддержка размещения данных в старом каталоге "~/.mozilla" сохранена в качестве опции, активируемой при запуске с переменной окружения "MOZ_LEGACY_HOME=1".
Добавлена поддержка механизма "Compression Dictionary Transport" (RFC 9842), позволяющего сократить размер данных, передаваемых между клиентом и сервером, за счёт использования алгоритмов сжатия Zstandard (Content-Encoding: dcz) и Brotli (Content-Encoding: dcb) в сочетании со сжатием типовых конструкций с использованием словарей. Доступно два сценария использования Compression Dictionary Transport - сжатие контента по предварительно переданным сервером словарям и использование ранее переданного контента в качестве словаря для сжатия его новой версии (дельта-сжатие, при котором передаются только изменения по сравнению с имеющейся версией).
Например, при запросе "GET /index.html" сервер может передать сведения о наличии словаря, вернув путь к нему в заголовке 'Link: <.../dict>; rel="compression-dictionary"'. При загрузке клиентом словаря ".../dict" сервер выдаст информацию об его применении к HTML-файлам, выставив заголовок 'Use-As-Dictionary: match="/*html"'. При следующем запросе html-ресурса, например, "GET /index2.html", клиент укажет сведения о наличии у него словаря через заголовок 'Available-Dictionary: хэш_словаря"'. Если сервер имеет на своей стороне словарь с данным хэшем, то вернёт содержимое index2.html, сжатое с использованием данного словаря.
Для дельта-сжатия разных версий JavaSсript-файлов в ответ на запрос "GET /app.v1.js" сервер может выставить заголовок 'Use-As-Dictionary: match="/app*js"', информирующий что возвращённый контент в дальнейшем можно использовать в качестве словаря для путей "/app*js". При последующем запросе файла, соответствующего данной маске, например, "GET /app.v2.js", клиент передаст хэш имеющегося словаря через заголовок "Available-Dictionary:", а сервер вернёт лишь изменения между файлами app.v1.js и app.v2.js.
Добавлена страница about:keyboard для настройки комбинаций клавиш и переопределения имеющихся горячих клавиш, например, для задания более привычных для себя вариантов или исключения конфликтов с другими программами.
Для Windows оптимизировано воспроизведение видео с использованием аппаратного ускорения декодирования на GPU AMD. На системах с GPU AMD аппаратно декодированное видео теперь воспроизводится без дополнительного копирования данных (режим zero-copy), как это ранее было реализовано для систем с GPU Intel и NVIDIA.
До версии 5 обновлена реализация протокола Safe Browsing, применяемого для проверки URL на предмет наличия в списках небезопасных ресурсов (фишинговые сайты, страницы с вредоносным ПО и т.п.), предоставляемых Google. Новая версия протокола позволяет загружать списки блокировки для использования на локальной системе (БД с префиксами хэшей SHA256 проблемных URL), которые теперь применяются в Firefox.
Добавлена опция для автоматического продолжения воспроизведения видео в режиме "картинка в картинке" в случае переключения вкладки.
В режиме усиленной защиты от отслеживания перемещений (ETP, Enhanced Tracking Protection => Strict) включено по умолчанию применение спецификации LNA (Local Network Access) для ограничения обращений к локальной системе (loopback, 127.0.0.0/8) или внутренней сети (192.168.0.0/16, 10.0.0.0/8 и т.п.) при взаимодействии с публичными сайтами. Обращение к внутренним ресурсам используются злоумышленниками для осуществления CSRF-атак на маршрутизаторы, точки доступа, принтеры, корпоративные web-интерфейсы и другие устройства и сервисы, принимающие запросы только из локальной сети. Кроме того, сканирование внутренних ресурсов может использоваться для косвенной идентификации или сбору сведений о локальной сети.
На Linuх-системах с GNOME и композитным сервером Mutter решена проблема с нечётким отображением контента при использовании дробного уровня масштабирования.
На компьютерах Apple с чипами Apple Silicon и ОС macOS включена поддержка API WebGPU.
Выставляемые в HTTP-заголовке Accept-Language приоритеты выбора языка (q-параметры) синхронизированы со значениями, выставляемыми другими браузерами, что решило некоторые проблемы с переносимостью. Например, для второго языка теперь выставляется приоритет q=0.9 вместо q=0.5, а для каждого последующего языка приоритет уменьшается на 0.1.
Библиотека ICU обновлена до версии 78 с поддержкой Unicode 17 и обновлением данных локалей.
В Service Worker-ах разрешено использование JavaScript-модулей ESM (ECMAScript Module), импортируемых и экспортируемых через выражения
import и export.
Добавлена поддержка спецификации CSS Module Scripts, позволяющей использовать систему модулей JavaScript для импорта CSS-ресурсов. Например:
import styles from "./styles.css" with { type: "css" };
В псевдо-элементе "::marker", позволяющем настроить параметры чисел и точек для перечислений в блоках <ul> и <ol>, разрешено использовать CSS-свойства "counter-*" и "quotes".
В API CompressionStream и DecompressionStream добавлена поддержка формата сжатия Brotli.
В API View Transitions, применяемом для создания анимационных эффектов при переключении между разными состояниями DOM, добавлено свойство "type", содержащее массив с типами переходов. Также добавлен соответствующий CSS-селектор ":active-view-transition-type" и свойство document.activeViewTransition, возвращающее экземпляр активного для документа объекта ViewTransition.
Включён набор CSS-свойств для управления показом элементов, привязанных к местоположению других элементов (CSS Anchor Positioning), без использования JavaScript, например, для прикрепления к элементам всплывающих окон (popover), появляющихся по аналогии со всплывающими подсказками.
Реализована спецификация "Storage Access Headers", определяющая заголовок запроса "Sec-Fetch-Storage-Access" и заголовок ответа "Activate-Storage-Access" для получения доступа к сторонним Cookie без вызова метода document.requestStorageAccess(). Сервер может запросить доступ к Cookie через заголовок "Activate-Storage-Access" и он будет отправлен клиентом, если ранее пользователь подтверждал предоставление доступа к хранилищу Cookie через API Storage Access.
В CSS-свойство "root-font-relative" добавлена поддержка относительных единиц измерения rcap, rch, rex и ric.
Реализован API Navigation, позволяющий web-приложениям перехватывать операции навигации в окне, инициировать переход и анализировать историю действий с приложением. API предоставляет альтернативу свойствам window.history и window.location, оптимизированную для одностраничных web-приложений.
В инструментах для web-разработчиков в панели с правилами CSS реализована поддержка редактирования и добавления селекторов псевдоэлементов. В интерфейс для просмотра данных в формате JSON добавлена кнопка для импорта ресурса в систему профилирования (Firefox Profiler) для определения информации о его размере.
В панелях инспектирования HTML-элементов и анимации обеспечено отображение псевдоэлементов View Transitions. В панели с правилами CSS реализовано отображение правил @position-try, применяемых для управления показом элементов, привязанных к местоположению других элементов (CSS Anchor Positioning).
В версии Firefox для Android добавлена защита от атак по сторонним каналам, таким как Spectre, применяемым для обхода изоляции между сайтами. Ранее подобная защита была доступа только в сборках для десктоп-систем.
Кроме новшеств и исправления ошибок в Firefox 147 устранено 23 уязвимости. 10 уязвимостей вызваны проблемами работы с памятью, такими как переполнения буферов и обращение к уже освобождённым областям памяти. Потенциально данные проблемы способны привести к выполнению кода злоумышленника при открытии специально оформленных страниц. 3 уязвимости позволяют обойти sandbox-изоляцию из-за некорректной проверки границ и целочисленного переполнения в компоненте для работы с графикой.
Давид Хейнемейер Ханссон (David Heinemeier Hansson), автогонщик и автор веб-фреймворка Ruby on Rails, опубликовал дистрибутив Omarchy 3.3, отражающий его представление об идеальном Linux-окружении. Дистрибутив развивается в соответствии с принципом "Omakase Computing", предполагающим, что большинство пользователей в начале своего пути не знают, чего именно они хотят, и для них будет лучше не терзать себя попытками выбора, а воспользоваться набором инструментов, подготовленным тем, чьей компетентности и вкусу они доверяют. Наработки проекта распространяются под лицензией MIT. Размер ISO-образа 7.2 ГБ.
Дистрибутив основан на пакетной базе Arch Linux и предлагает пользовательское окружение на основе композитного менеджера Hyprland с мозаичной компоновкой окон. Отмечается, что проект не просто предлагает набор предустановленных пакетов, а пытается предложить среду из сочетающихся между собой приложений, подобранных с учётом эстетики и эффективности решения задач.
По мнению Давида, для высокой производительности труда важна мотивация и частью такой мотивации является красивое и эстетичное окружение. В Omarchy предлагаются только приложения, повседневно используемые Давидом - от Neovim, Chromium и LibreOffice до Spotify, Typora, Ghostty и Zoom. Omarchy не пытается быть похожим на Windows или macOS, угодить большинству или показаться привычным пользователям. Предложенное окружение, работа с кодом в Neovim, активное использование терминала и мозаичная компоновка окнами многим покажется непривычной, но те кто решится выйти из зоны комфорта и освоить для себя что-то новое сможет повысить эффективность своей работы.
Некоторые особенности:
Консольный инсталлятор и ориентация на установку на отдельный диск с применением полнодискового шифрования
Возможность управления всеми действиями в графическом окружении при помощи клавиатуры, что позволяет заметно ускорить выполнение типовых действий по сравнению с применением мыши. Например, для вызова списка приложений можно использовать комбинацию "Super + Space", для показа меню "Super + Alt + Space", запуска терминала - "Super + Return", запуска браузера - "Super + Shift + B".
На выбор предложено 14 тем оформления, которые можно сменить через секцию "Style > Theme" в основном меню.
Использование комбинаций клавиш Super + C, Super + X и Super + V для копирования и вставки из буфера обмена. Наличие интерфейса (Super + Ctrl + V) для просмотра и поиска по истории помещения данных в буфер обмена.
Автоматическое создание снапшотов системы после обновления с возможностью отката изменений в случае возникновении проблем. Ручное создание снапшотов командой "omarchy-snapshot create".
Активация по умолчанию межсетевого экрана с блокировкой всех входящих соединений на порты, кроме 22 (ssh) и 53317 (LocalSend).
По умолчанию использование штатных репозиториев Arch Linux core, extra, multilib, а также своего репозитория Omarchy Package Repository. Опционально возможно включение установки из AUR.
Наличие AI-инструментов: OpenCode (агент для обращения к AI-сервисам и большим языковым моделям), Voxtype (система голосового ввода), LM Studio и Ollama (для локального запуска AI-моделей). Наличие провайдеров для Claude Code, Gemini CLI, OpenAI Codex и GitHub Copilot.
Использование по умолчанию редактора кода NeoVim с возможность его замены на VSCode, Cursor, Zed, Sublime Text и Helix.
Наличие Docker, GitHub CLI и средств для установки преднастроенных окружений для разработки, например, для использования Ruby on Rails,
Node.js, Bun, Deno, Laravel, Symfony, .NET, OCaml, Zig и Elixir. Для установки нескольких разных версий одного языка программирования или фреймворка задействован Mise.
Поставка консольного интерфейса lazygit для работы с Git, а также Lazydocker для работы с Dоcker.
Использование консольного интерфейса Impala для настройки Wi-Fi и BlueTUI для подключения Bluetooth-устройств.
Наличие графических приложений: системы ведения заметок Obsidian, редактора изображений Pinta, системы для обмена файлами с другими устройствами LocalSend, офисного пакета LibreOffice, мессенджера Signal, мультимедийного проигрывателя mpv, системы потокового вещания OBS Studio, редактора видео Kdenlive.
Предоставлена возможность быстрой установки проприетарных приложений: менеджера паролей 1Password, markdown-редактора Typora, системы синхронизации файлов Dropbox, VPN Tailscale, музыкального сервиса Spotify.
Устанавливаемые web-приложения: почтовый клиент и календарь-планировщик HEY (альтернатива Gmail, Outlook и Apple Mail), система управления проектами Basecamp, Google Maps, ChatGPT, WhatsApp, X/Twitter, YouTube, Zoom.
Для любителей игр поставляются Steam, RetroArch, Minecraft, Xbox Controllers.
В меню имеется опция "Install > Windows" для быстрой установки Windows 11 Pro (без активации) в виртуальной машине Docker.
Наличие расширенных утилит для работы в командной строке, таких как fzf (расширенный поиск файлов), Zoxide (замена команды cd с ведением истории операций), ripgrep (расширенный аналог grep для поиска содержимого), eza (замена ls, показывающая больше информации),
fd (замена find), try (создание каталогов для экспериментов).
Предоставление shell-функций для типовых задач, таких как compress/decompress, iso2sd, format-drive, img2jpg, img2jpg-small и img2png.
Организация Buddies Of Budgie опубликовала отчёт о развитии среды рабочего стола Budgie, в котором отмечены достижения за 2025 год и раскрыты планы на 2026 год. После формирования выпуска Budgie 10.10, переведённого на Wayland, всё внимание переключилось на разработку ветки Budgie 11.
Вместо GTK для организации вывода в Budgie 11 будет задействован Qt6 и вспомогательные библиотеки из набора KDE Frameworks. Миграция уже опробовала в приложении Budgie Display Configurator, при разработке которого использованы Qt6 и фреймворк построения интерфейса Kirigami (надстройка над Qt Quick Controls).
В Budgie 11 будет произведён переход на модульную архитектуру, подразумевающую разделение на два слоя: "Budgie Core" и "Budgie Desktop". Модульная архитектура позволит адаптировать проект для новых формфакторов, устройств ввода и рабочих процессов. Например, Budgie сможет использоваться не только на ПК и ноутбуках, но и на планшетах, телевизорах, устройствах виртуальной реальности и смартфонах.
Слой Budgie Core содержит базовые библиотеки, применяемые для всех устройств, отвечает за запуск компонентов в зависимости от типа устройства, и предоставляет библиотеки для организации вывода информации, поддержки языков и локалей, управления энергопотреблением, взаимодействием с устройствами ввода и конфигурирования.
Слой Budgie Desktop реализован поверх Budgie Core и предоставляет функциональность графической оболочки. Слой отвечает за такие операции, как компоновка окон, управление рабочими столами и приложениями, построение интерфейса пользователя. Из возможностей Budgie 11 также заявлена поддержка кроссплатформенных тем оформления и возможность замены компонентов и расширений, таких как композитный сервер, система вывода уведомлений и панели.
Представлен первый выпуск проекта Gixy-Next, развивающего статический анализатор для файлов конфигурации Nginx, позволяющий выявлять проблемные настройки, негативно влияющие на безопасность и производительность. Проект развивает Джошуа Роджерс (Joshua Rogers), несколько лет назад выявивший 55 уязвимостей в прокси-сервере Squid. Gixy-Next создан как форк проекта Gixy-ng, продолжавшего развитие инструментария Gixy, открытого компанией Yandex в 2017 году и последние два года не обновлявшегося.
В качестве причины создания нового форка называется недовольство действиями мэйнтейнера проекта Gixy-ng, злоупотребляющего использованием AI-инструментов при разработке. Форк создан после того, как в репозиторий стали добавляться автоматические сгенерированные изменения, не прошедшие должного рецензирования и приводящие к возникновению регрессий и нарушению поведения инструментария. В коде стали появляться бессмысленные артефакты от применения AI и функции, которые не делали то, что должны были. Например, вносились раздутые исправления, занимавшие тысячи строк, которые можно было заменить 10-строчным патчем. Более того, в документацию и встроенную подсказку была добавлена реклама, а сторонние pull-запросы принимались с вырезанием информации об авторах.
В Gixy-Next проведена чистка кодовой базы от мусорных изменений, созданных при помощи AI, исправлены ошибки, налажено тестирование на крупных файлах конфигурации NGINX и добавлены изменения для упрощения сопровождения кодовой базы. Из новых возможностей Gixy-Next по сравнению с оригинальным Gixy отмечается:
19 новых плагинов, проверяющих корректность настроек, связанных с управлением доступом, DNS, проксированием и регулярными выражениями, а также выявляющих настройки, приводящие к дополнительным накладным расходам и снижению производительности.
Стандартизированный и воспроизводимый вывод отчётов, пригодный для автоматизированного разбора.
Поддержка модулей map и geo.
Модернизация плагинов
origins, ssrf, http_splitting, alias_traversal и valid_referers
для снижения ложных срабатываний и более точного обнаружения проблем.
Корректная обработка дополнительных файлов конфигурации, подключаемых через директиву "include".
Улучшение проверки регулярных выражений.
Возможность сборки в виде Online-сканера, работающего в браузере.