Для ядра Linux разработан драйвер rotary_dial, позволяющий использовать для ввода цифр дисковый номеронабиратель, применявшийся в телефонных аппаратах с импульсным набором номера. Номеронабиратель можно использовать вместо нумпада в качестве стильного аксессуара по аналогии с тем, как несколько лет назад он был задействован в мобильном телефоне. Номеронабиратель подключается через GPIO и после активации драйвера становится доступен как новое устройство ввода evdev.
Нейт Грэм (Nate Graham), разработчик, занимающийся контролем качества в проекте KDE, опубликовал очередной отчёт о разработке KDE. Наиболее заметные изменения:
В готовящемся к выпуску корректирующем обновлении KDE Plasma 6.3.6 по умолчанию для новых установок отключён механизм Adaptive Sync (VRR), адаптивно меняющий частоту обновления монитора для обеспечения плавности и отсутствия разрывов во время игр и показа видео. Режим отключён из-за большого числа проблем, возникающих из-за ошибок в графических драйверах. В обновлении также будет устранено аварийное завершение KWin, возникающие при отсоединении нескольких экранов, подключённых через KVM.
В кодовую базу, в которой началось формирование выпуска KDE Plasma 6.5, добавлена поддержка динамических обоев рабочего стола, меняющихся в зависимости от времени суток. Идея в том, чтобы в светлое время суток автоматически показывать светлые обои, а в тёмное - тёмные. Улучшен интерфейс для предпросмотра динамических обоев (обои, меняющиеся в зависимости от светлой или тёмной темы, теперь помечаются специальным значком и показываются в двух вариантах).
Значительно улучшен интерфейс виджета для заметок (Sticky Note). Добавлены такие возможности, как изменение размера, изменение цвета фона через контекстное меню и выставление прозрачного фона.
В настройках при попытке выставления в качестве глобального шрифта акцидентных шрифтов, имеющих метку "Display" в названии, теперь выводится предупреждение о том, что подобные шрифты не предназначены для отображения на цифровых дисплеях.
При первом вызове интерфейса выбора Emoji (Meta+".") реализовано скрытие страницы с недавно выбранными значками, так как она на данном этапе пустая.
В виджете управления сетевым соединением обеспечено постоянное отображение кнопки "Hotspot", даже если точку доступа в текущем состоянии создать невозможно. В подобной ситуации кнопка становится неактивной, а при подведении к ней курсора показывается подсказка с пояснением причины невозможности создать точку доступа.
В конфигураторе со страницы настройки эффектов рабочего стола удалены все отладочные эффекты, которые перенесены в окно с отладочными опциями KWin.
Улучшена навигация с использованием клавиатуры в виджете управления громкостью, на странице с настройками Flatpak и в окне управления обновлениями в Discover.
Значительно повышена производительность прокрутки при просмотре списка доступных обоев рабочих столов в конфигураторе.
В Qt 6.9.2 добавлены оптимизации, ускоряющие просмотр данных в табличном представлении (grid view) в KDE Plasma и приложениях на базе Qt Quick.
В KDE Frameworks 6.15 решена проблема с зависанием рабочего стола Plasma на время открытия в настройках диалога "Advanced Options". Улучшена клавиатурная навигация в конфигураторе и улучшена поддержка экранных ридеров.
В ветке Plasma 6.4 улучшен интерфейс виджета управления громкостью, в котором повышена наглядность при использовании нескольких устройств.
Ускорен вызов окна управления буфером обмена комбинацией клавиш Meta+V.
В менеджере приложений Discover в результатах поиска больше не показываются обои и дополнения, если поиск не выполняется со страницы управления дополнениями.
Разработчики Ubuntu Linux наметили переход по умолчанию на использование проекта Chrony для синхронизации точного времени во всех сборках Ubuntu 25.10. Ранее в Ubuntu использовался сервис systemd-timesyncd, который решено заменить из-за желания задействовать протокол NTS (Network Time Security) для криптографической защиты синхронизации времени.
Проект Chrony предоставляет независимую реализацию клиента и сервера NTP, уже применяемую для синхронизации точного времени в Fedora, SUSE/openSUSE и RHEL. NTS позволяет гарантировать, что клиент взаимодействует с целевым, а не подменённым NTP-сервером. Подмена NTP-сервера представляет опасность, так как установка неверного времени может использоваться для нарушения безопасности других протоколов, учитывающих время, таких как TLS и DNSSEC. Изменение времени может привести к неверной интерпретации данных о действии сертификатов.
Протокол NTS использует для организации шифрованного канала связи элементы инфраструктуры открытых ключей (PKI) и позволяет применять TLS и аутентифицированное шифрование AEAD (Authenticated Encryption with Associated Data) для защиты пользователей от атак, имитирующих NTP-сервер. NTS включает в себя два отдельных протокола: NTS-KE (NTS Key Establishment), используемый для обработки начальной аутентификации и согласования ключей поверх TLS, и NTS-EF (NTS Extension Fields), который отвечает за шифрование и аутентификацию сеанса синхронизации времени. NTS добавляет в пакеты NTP несколько расширенных полей и хранит всю информацию о состоянии только на стороне клиента, используя механизм передачи cookie. Для обработки соединений по протоколу NTS используется сетевой порт 4460.
Пакет Chrony уже входит в состав репозитория main и используется по умолчанию в некоторых редакциях Ubuntu для облачных систем. Работа по замене systemd-timesyncd на Chrony начнётся 2 июня. Включение Chrony в сборки притянет за собой дополнительную зависимость "libedit2" и приведёт к увеличению размера образа на 803 КБ. Для замены systemd-timesyncd на Chrony в Ubuntu 25.04 можно использовать команду "apt-mark auto systemd-timesyncd && apt install chrony", а для возвращения на systemd-timesyncd - "apt-mark auto chrony && apt install systemd-timesyncd".
Компания Apple опубликовалаисходный код низкоуровневых системных компонентов операционной системы macOS 15.5 (Sequoia), в которых используется свободное программное обеспечение, включая составные части Darwin, компоненты, программы и библиотеки, не связанные с GUI. Всего опубликован 171 пакет с исходными текстами.
Среди прочего доступенкод ядра XNU, исходные тексты которого публикуются в виде срезов кода, связанных с очередным релизом macOS. XNU является частью открытого проекта Darwin и представляет собой гибридное ядро, сочетающее ядро Mach, компоненты от проекта FreeBSD и C++ API IOKit для написания драйверов.
Кроме того, опубликованы открытые компоненты, используемые в мобильной платформе iOS 18.5. Публикация включает
два пакета - WebKit и libiconv.
Доступен выпуск дистрибутива AlmaLinux 9.6, синхронизированный c новым выпуском Red Hat Enterprise Linux 9.6 и содержащий все предложенные в данном выпуске изменения. Установочные образы подготовлены для архитектур x86_64, ARM64, ppc64le и s390x в форме загрузочного (1 ГБ), минимального (2 ГБ) и полного образа (10 ГБ). Позднее будут сформированы Live-сборки с GNOME, KDE, MATE и Xfce, а также образы для плат Raspberry Pi, контейнеров, WSL (Windows Subsystem for Linux) и облачных платформ.
Дистрибутив по возможности бинарно совместим с Red Hat Enterprise Linux и может использоваться в качестве замены RHEL 9.6 и CentOS 9 Stream. Изменения сводятся к ребрендингу, удалению специфичных для RHEL пакетов, таких как redhat-*, insights-client, subscription-manager-migration*, kpatch*, kmod-redhat-*, rhc, spice* и virtio-win, и расширению поддержки оборудования. В частности, по сравнению с RHEL в AlmaLinux добавлена поддержка дополнительных идентификаторов устройств Compaq, LSI SAS 10xx/2xxx, LSI MegaRAID SAS1078, HP NetRAID-4M, Adaptec 5400S, Dell PERC 2*/3*, Dell PERC5, QLogic ISP, Emulex BladeEngine 2/3, Emulex OneConnect, Themisto/Callisto Jupiter Platform, IBM 8i, Adaptec Catch All, CERC SATA RAID, Legend и т.д.
Кроме того, для использования доступен репозиторий
Synergy, в котором размещены пакеты, отличающиеся от Red Hat Enterprise Linux.
В настоящее время в репозитории Synergy уже опубликованы пакеты c пользовательским окружением Pantheon, развиваемым проектом Elementary OS, и утилитой Warpinator, предназначенной для шифрованного обмена файлами между двумя компьютерами.
Дистрибутив AlmaLinux основан компанией CloudLinux в ответ на преждевременное сворачивание поддержки CentOS 8 компанией Red Hat (выпуск обновлений для CentOS 8 прекращён в конце 2021 года, а не в 2029 году, как предполагали пользователи). Проект курирует отдельная некоммерческая организация AlmaLinux OS Foundation, которая была создана для разработки на нейтральной площадке с участием сообщества и c использованием модели управления, похожей на организацию работы проекта Fedora. Дистрибутив бесплатен для всех категорий пользователей. Все наработки AlmaLinux публикуются под свободными лицензиями.
Кроме AlmaLinux, в качестве альтернатив классическому CentOS также позиционируются Rocky Linux (развивается сообществом под руководством основателя CentOS), Oracle Linux, SUSE Liberty Linux и EuroLinux. Кроме того, компания Red Hat предоставилавозможность бесплатного использования RHEL в организациях, развивающих открытое ПО, и в окружениях индивидуальных разработчиков, насчитывающих до 16 виртуальных или физических систем.
Проект Wine опубликовал выпуск пакета vkd3d 1.16 с реализацией Direct3D 12, работающей через трансляцию вызовов в графический API Vulkan. В состав пакета входят библиотеки libvkd3d с реализаций Direct3D 12, libvkd3d-shader c транслятором 4 и 5 модели шейдеров и libvkd3d-utils с функциями для упрощения портирования приложений Direct3D 12, а также набор демонстрационных примеров, включая порт glxgears на Direct3D 12. Код проекта распространяется под лицензией LGPLv2.1.
Библиотека libvkd3d поддерживает большую часть возможностей Direct3D 12, включая средства для графики и вычислений, очереди и списки команд, дескрипторы и дескрипторы кучи, корневые сигнатуры, неупорядоченный доступ, Sampler-ы, сигнатуры команд, корневые константы, непрямую (indirect) отрисовку, методы Clear*() и Copy*(). В libvkd3d-shader реализована трансляция байт-кода моделей шейдеров в промежуточное представление SPIR-V. Поддерживаются вершинные, пиксельные, тесселяционные, вычислительные и простые геометрические шейдеры, сериализация и десериализация корневой сигнатуры. Из шейдерных инструкций реализованы арифметические, атомарные и битовые операции, операторы сравнения и управления потоком передачи данных, инструкции sample, gather и load, операции неупорядоченного доступа (UAV, Unordered Access View).
Стабилизирована и включена по умолчанию поддержка шейдеров DXIL (DirectX Intermediate Language).
В компилятор языка шейдеров HLSL добавлена начальная поддержка геометрических шейдеров. Для шейдерных моделей 1,2,3 реализована поддержка косвенной адресации, модулей и ограничения значений.
В библиотеке libvkd3d заявлена поддержка шейдерной модели 6.0. В программном интерфейсе ID3D12Device1 реализован метод SetEventOnMultipleFenceCompletion(). Добавлена поддержка Vulkan-расширения VK_KHR_zero_initialize_workgroup_memory для инициализации нулями памяти для шейдеров. В число обязательных включено Vulkan-расширение VK_KHR_maintenance2, предложенное в спецификации Vulkan 1.1.
Добавлена поддержка дизассемблирования шейдеров SPIR-V и
бинарных эффектов "fx_2_0".
Добавлена экспериментальная поддержка косвенной адресации постоянных буферов в GLSL (OpenGL Shading Language).
В реализацию языка шейдеров MSL (Metal Shading Language), применяемого компанией Apple в графическом API Metal, добавлена возможность загрузки текстур.
Добавлена поддержка встроенных функций HLSL:
AllMemoryBarrier(),
AllMemoryBarrierWithGroupSync(),
DeviceMemoryBarrier(),
DeviceMemoryBarrierWithGroupSync(),
GroupMemoryBarrier() и
GroupMemoryBarrierWithGroupSync().
Реализованы флаги
VKD3D_SHADER_COMPILE_OPTION_FEATURE_ZERO_INITIALIZE_WORKGROUP_MEMORY, VKD3D_SHADER_COMPONENT_INT64, VKD3D_SHADER_COMPONENT_FLOAT16, VKD3D_SHADER_COMPONENT_UINT16, VKD3D_SHADER_COMPONENT_INT16, VKD3D_SHADER_RESOURCE_DATA_NONE и VKD3D_SHADER_RESOURCE_DATA_UINT.
Доступен выпуск интегрированной среды разработки Apache NetBeans 26, которая предоставляет поддержку языков программирования Java SE, Java EE, PHP, C/C++, JavaScript, Rust и Groovy. Готовые сборки сформированы для Linux (snap, flatpak), Windows и macOS.
В редакторе кода реализована поддержка включения и отключения панелей предпросмотра результатов поиска, рефакторинга и закладок. В многооконном режиме работы редактора кода улучшено изменение фокуса ввода при закрытии последнего окна.
В интерфейсе пользователя для загрузки SVG-изображений вместо библиотеки Batik задействован JSVG. Проведена работа по унификации и очистки кода загрузки пиктограмм. Добавлено 150 новых пиктограмм в формате SVG.
На платформе macOS учтены рекомендации по расположению кнопок в диалогах (например, кнопка с действием по умолчанию всегда справа, а кнопка отмены всегда слева).
Во время перемещения вкладки мышью обеспечен показ её изображения в полном разрешении с учётом уровня масштабирования HiDPI.
Расширены возможности, связанные с использованием серверов LSP (Language Server Protocol) и применением плагина для VSCode. Улучшен LSP-клиент для C/C++.
Улучшена поддержка систем сборки Ant, Gradle и Maven. Gradle Tooling API обновлён до версии 8.14. Для Maven предоставлен доступ к публичному API Resolver. Для отладки и запуска приложений Micronaut задействована команда mn:run. Налажен выбор фона для свойств Ant при тёмной теме оформления (свойства выводились на светлом фоне).
Для кода на языке Java добавлена поддержка тестов hotspot из OpenJDK. Улучшена поддержка шаблонов Swing. Расширены возможности, связанные с генерацией документации apidoc. Встроенный в NetBeans Java-компилятор nb-javac (модифицированный javac) обновлён до версии JDK 24. Встроенная версия Apache Tomcat обновлена до версии 9.0.102. Реализовано кэширование настроек для подсказок (java hints).
В окружении для языка PHP улучшено отображение и автодополнение конструкторов.
Улучшена поддержка платформы Jakarta EE 11. Для Tomcat, TomEE и GlassFish добавлена поддержка возможностей будущего релиза Java SE 25.
В окружении для web-проектов добавлена поддержка единиц измерения CSS: cqw (1% от ширины), cqh (1% от высоты), cqi (1% от inline-размера), cqb (1% от размера блока), cqmin (наименьшее значение cqi или cqb) и cqmax (наибольшее значение cqi или cqb). Реализована подсветка синтаксиса файлов, связанных с JavaScript-фреймворком Vue. Для JavaScript добавлена поддержка методов генератора async ("class { async * generator () { … }") и улучшена обработка ключевого слова const.
В интерфейсе отслеживания изменений обеспечено сохранение размера окон, отображающих ветки, созданные через "git create" и "git switch". Пакет jgit обновлён до версии 7.2.0. Добавлены пиктограммы для действий "git stash".
Компания Oracle опубликовала выпуск операционной системы Solaris 11.4 SRU 81 (Support Repository Update), в котором предложена серия значительных изменений и улучшений для ветки Solaris 11.4. Для установки предложенных в обновлении исправлений достаточно выполнить команду 'pkg update'. Пользователи также могут воспользоваться бесплатной редакцией Solaris 11.4 CBE (Common Build Environment), развиваемой с использованием модели непрерывной публикации новых версий.
Среди изменений в новой версии:
Добавлена поддержка отладочного формата CTF 3 (Compact Type Format), обеспечивающего компактное хранение сведений о Си-типах, связях между функциями и отладочных символах. В редактор динамических связей добавлена поддержка генерации CTF (ld -z ctf).
Загрузчик обновлён до версий GRUB 2.12 и Shim 15.8.
Обработка времени ожидания входа перенесена в модуль pam_unix_auth. Добавлена возможность автоматической разблокировки сеансов без паролей.
В неглобальных изолированных зонах с процессами init и zsched сопоставлены виртуальные идентификаторы процесса (PID) 1 и 0. При миграции зон обеспечена синхронизация системного времени.
Добавлена настройка для запрета отправки ICMP-пакетов с сообщениями о недоступности сервиса.
В libc добавлена функция getpeereid.
При развёртывании изолированных зон Solaris 10 добавлена поддержка установочных архивов, сжатых при помощи ustar, xustar и pax.
В sulogin добавлена поддержка пользователей с root-полномочиями.
Интерпретатор PHP обновлён до ветки PHP 8.4.
Добавлены опции для настройки детализации логов ldmd ('ldm set-logctl'). Улучшен вывод 'ldm list' с разбивкой на несколько столбцов.
Обновлены версии программ, среди которых LLVM/Clang 19, Golang 1.23.8, Java 8u451, MySQL 8.0.41, git 2.48.1, ruby 3.1.7, xorg-server to 21.1.16, ImageMagick 7, OpenLDAP 2.6.9,
gtk3 3.24.48,
gtk4 4.14.5,
python 3.13.1, samba 4.21.3.
Доступен релиз проекта lsFusion 6.0, развивающего декларативную платформу для разработки бизнес- и веб-приложений. Платформа подходит для разработки корпоративных и учётных приложений, и может применяться в качестве открытой и бесплатной альтернативы платформе 1С. Код проекта написан на языке Java и распространяется под лицензией LGPLv3. Типовое ERP-решение для малого и среднего бизнеса MyCompany, использующее lsFusion, распространяется под лицензией Apache 2.0.
В основе платформы заложена парадигма комбинаторного программирования
(function-level), что существенно отличает lsFusion от существующих на рынке платформ (например SAP, Dynamics AX, 1С, .Net). Также внутри активно используются событийное, реактивное и объектно-ориентированное программирование. Шестая версия фокусируется на улучшении web-интерфейса: глубокой интеграции с Bootstrap, поддержке PWA и современных браузерных API, а также расширении инструментов для создания гибких форм и интерфейсов.
Основные изменения в шестой версии lsFusion:
Интеграция Bootstrap: все системные элементы (формы, кнопки и пр.) автоматически используют стандартные классы Bootstrap; доступны несколько предустановленных тем; упрощённая кастомизация через атрибут class.
Новые UI-компоненты выбора: переключатели, чекбоксы, группы кнопок, радиокнопки и выпадающие списки в стиле Bootstrap; система может автоматически выбирать наиболее подходящий компонент на основе статистики возможных значений.
Поддержка иконок: встроены библиотеки Bootstrap Icons и FontAwesome; реализован автоматический подбор иконок по ключевым словам и именам элементов.
PWA и браузерные API: реализация Share, Notification и Push API для нативного шаринга, нотификаций и пуш-сообщений; возможность установки приложения как прогрессивного веб-приложения.
Явное задание HTML-тегов и типов input: поддержка типов date, time, color, range, month и собственного yearpicker; разработчик может явно указать тег и тип элемента ввода.
Расширенные атрибуты свойств: добавлены placeholder, pattern, regexp, tooltip, comment, а также гибкие настройки расположения и выравнивания через panelCaption* и panelComment*.
Всплывающие контейнеры (popup): отложенная загрузка содержимого по клику, что снижает нагрузку на интерфейс и ускоряет первоначальную отрисовку.
Tiny/Mini стили: компактные размеры UI-элементов для минимизации скроллинга в ERP-приложениях.
Направленные (arrow) кнопки: специальные стили для визуализации и управления процессами в интерфейсе.
Модуль WebSocket: приём и отправка текстовых и бинарных сообщений, события открытия/закрытия соединений и встроенная форма управления сокетами.
Расширенная работа с данными:
«Табличные значения» в операторе FORMULA;
Оператор VALUE для доступа к текущим значениям на форме;
Опции TOP/OFFSET для пагинации и пакетного чтения (оператор FOR);
Собственные агрегаты в GROUP/PARTITION.
Дополнительные события на форме: CHANGE BEFORE/CHANGE AFTER для свойств, ON COLLAPSE/ON EXPAND для контейнеров, с возможностью определения источника события (EDIT, BINDING, PASTE, CUSTOM).
Явное задание имён в БД: указание имён таблиц, индексов и материализованных свойств для более прозрачной схемы данных.
Поддержка raw-литералов: специальный синтаксис строк для работы с текстовыми данными без экранирования.
В стандартной Си-библиотеке Glibc выявленауязвимость (CVE-2025-4802), позволяющая добиться выполнения кода с привилегиями другого пользователя, выставляемыми при запуске приложений с флагом suid. Опасность проблемы сводят на нет условия, при которых она проявляется - разработчики Glibc не смогли найти ни одной suid-программы, к которой была бы применима найденная уязвимость. При этом не исключено, что в обиходе могут использоваться собственные suid-программы, удовлетворяющие условиям совершения атаки.
Эксплуатация уязвимости возможна только для статически собранных suid-программ, вызывающих функцию dlopen. Помимо программ, напрямую вызывающих dlopen, уязвимость затрагивает и программы, в которых функция dlopen выполняется косвенно, как следствие вызова setlocale или NSS-функций, таких как getaddrinfo.
Проблема вызвана обработкой переменной окружения LD_LIBRARY_PATH в контексте suid-приложений в случае вызова dlopen из статически собранных программ (игнорирование LD_LIBRARY_PATH срабатывало только при динамической компоновке).
Через выставление пути в LD_LIBRARY_PATH атакующий может организовать загрузку подставной библиотеки из своего каталога. Уязвимость проявляется начиная с версии Glibc 2.27 (февраль 2018 года) и устранена в выпуске Glibc 2.39 (февраль 2024 года).
Разработчики Debian сообщили о переводе Debian 13 на стадию жёсткой заморозки перед релизом, при которой процесс переноса ключевых пакетов и пакетов без autopkgtests из unstable в testing полностью остановлен и начался этап интенсивного тестирования и исправления блокирующих релиз проблем. Стадия жёсткой заморозки рассматривается как необходимый промежуточный этап перед полной заморозкой, охватывающей все пакеты. Полная заморозка будет произведена за несколько недель до релиза, который ожидается летом. В настоящее время насчитывается 244 критические ошибки, блокирующие релиз (при переходе к жёсткой заморозке Debian 12 таких ошибок было 258).
Это третья стадия заморозки - первая стадия была пройдена 15 марта и привела к прекращению выполнения "transitions" (обновление пакетов, требующее корректировки зависимостей у других пакетов, которое приводит к временному удалению пакетов из Testing), а также прекращению обновления пакетов, необходимых для сборки (build-essential). Вторая стадия началась 15 апреля и была связана с прекращением приёма новых исходных пакетов и закрытием возможности повторного включения ранее удалённых пакетов.
В отчёте от команды, отвечающей за формирование релизов Debian, также объявлено о решении прекратить формирование официальных релизов Debian 13 для платформы MIPS64EL. При этом в число официально поддерживаемых добавлена платформа RISC-V 64, которую решено включить в состав Debian 13.
Сформированвыпуск экспериментальной ветки инструментария для управления пакетами APT 3.1.0 (Advanced Package Tool), на базе которой после стабилизации будет подготовлен стабильный выпуск 3.2. Новая ветка APT будет интегрирована в Debian Unstable и не войдёт в состав готовящегося к релизу Debian 13.
Добавлены новые команды "apt why" и "apt why-not".
В файлы .sources добавлены опции "Include" и "Exclude", позволяющие загружать из репозитория только указанные пакеты (белый список) или не обрабатывать определённые пакеты в репозитории (чёрный список).
В утилиту dselect добавлена поддержка HTTPS.
Для Ubuntu в утилитах командной строки включён по умолчанию движок разрешения зависимостей Solver3, в котором для разрешения конфликтов между зависимостями задействован алгоритм поиска с возвратом (backtracking).
Опубликован выпуск композитного сервера Niri 25.05, реализующего метод мозаичной (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 размещаются вертикально (лента окон вращается горизонтально, а лента рабочих столов - вертикально). На каждом мониторе может отображаться независимый набор виртуальных рабочих столов. Для переключения между рабочими столами и окнами можно использовать управляющие жесты на тачпаде. При отключении монитора раскладка виртуальных рабочих столов запоминается и переносится на оставшийся монитор, а при возвращении монитора восстанавливается в исходное состояние. Настройка осуществляется через файл конфигурации, позволяющий изменять такие параметры, как ширина рамок, отступы, режимы вывода и размеры окон. Внесённые в файл конфигурации изменения применяется автоматически без перезапуска композитного сервера.
В новой версии:
Добавлен обзорный режим для навигации по виртуальным рабочим столам и открытым в них окнам. Режим активируется переводом курсора в левый верхний угол или через сдвиг четырьмя пальцами на тачпаде, после чего уменьшается масштаб и показывается лента из имеющихся виртуальных рабочих столов и открытых в них окон. Окна можно перегруппировывать или перемещать между рабочими столами при помощи мыши или экранных жестов.
Расширены возможности для создания скринкастов и совместного доступа к экрану.
Добавлена возможность динамического выбора объекта для записи скринкаста - изначально создаётся пустой видеопоток, который можно переключить на захват активного окна или всего экрана на текущем мониторе. Реализована поддержка записи вывода полноэкранных приложений в форме виртуального окна.
В интерфейс для создания скриншотов добавлена возможность выбора области снимка при помощи графического планшета или сенсорного экрана. В нижнюю панель добавлена отдельная кнопка для создания скриншота.
Добавлена возможность выделения окон, требующих особого внимания. Подобные окна выделяются цветной рамкой (цвет задаётся через настройку urgent-color) и снабжаются отдельным индикатором в панели.
Расширены возможности IPC-интерфейса, применяемого для взаимодействия внешних систем с композитным сервером. Добавлены команды: "niri msg pick-window" (возвращает идентификатор окна, на которое кликнул пользователь) и "niri msg pick-color" (возвращает цвет выбранного пикселя).
Добавлены действия с окнами: focus-monitor, move-window-to-monitor, move-column-to-monitor, focus-column, move-column-to-index.
Добавлены настройки для устройств ввода: отключение tap-and-drag, отключение сенсорных экранов, изменение клавиши-модификатора, выбор ориентации трекпада, включение Num Lock при запуске.
Повышена эффективность отрисовки окон в промежуточные текстуры
(offscreening), подлежащие дополнительной обработке (например, наложение слоёв) перед выводом на монитор.
В кодовую базу, на основе которой в сентябре будет сформирован выпуск GNOME 49, принят инструментарий Mutter SDK (Mutter Development Kit), реализующий новый способ взаимодействия с композитным менеджером Mutter и оболочкой GNOME Shell. Mutter SDK даёт возможность запускать вложенный экземпляр GNOME Shell внутри GTK-приложения для упрощения тестирования Mutter и GNOME Shell в процессе разработки.
Вложенные экземпляры Mutter и GNOME Shell выводят информацию на виртуальный монитор, привязываемый к текущему сеансу пользователя, отображаемый в окне приложения и поддерживающий эмуляцию событий сенсорного экрана. Подключение виртуального монитора без создания нового сеанса реализовано при помощи API для записи скринкастов и удалённой работы с рабочим столом. Для запуска отдельных экземпляров в mutter и gnome-shell добавлена опция "--sdk". Для управления может использоваться D-Bus API org.gnome.Mutter.Sdk.
Опубликован релиз Phosh 0.47, экранной оболочки для мобильных устройств, основанной на технологиях GNOME и библиотеке GTK. Окружение изначально развивалось компанией Purism в качестве аналога GNOME Shell для смартфона Librem 5, но затем вошло в число неофициальных проектов GNOME и используется в postmarketOS, Mobian, Droidian, некоторых прошивках для устройств Pine64 и редакции Fedora для смартфонов. Phosh использует композитный сервер Phoc, работающий поверх Wayland, а также собственную экранную клавиатуру squeekboard. Наработки проекта распространяются под лицензией GPLv3+.
В системе вывода уведомлений реализован широковещательный режим обработки событий, связанных c объектами Wayland. Режим определён в спецификации xdg-desktop-portal.
Устранено мерцание при блокировке экрана с активным виджетом управления воспроизведением мультимедийного контента.
В быстрые настройки добавлена страница состояния, позволяющая включить режим "не беспокоить" и быстро перейти к настройкам всплывающей панели.
На странице с состоянием Wi-Fi обеспечен показ активной сети при использовании беспроводных сетей с несколькими точками доступа.
При блокировке SIM-карты реализовано скрытие кнопок для управления обменом данными через мобильную сеть.
В композитном сервере Phoc добавлена возможность использования предоставляемого в wlroot движка отрисовки на базе графического API Vulkan. Добавлены опции "--socket" и "--no-xwayland".
В конфигуратор phosh-mobile-settings добавлены опции для выставления и отключения фоновых изображений. Реализован диалог для подтверждения операции сброса списка избранных приложений. Во всплывающей панели обеспечено раздельное управление громкостью предупреждений, уведомлений и мультимедийного вывода.
В gmobile, обработчиках для работы GNOME на мобильных устройствах, добавлен API для выставления Wakeup-таймеров. На устройствах PinePhone реализована поддержка кнопки запуска/остановки воспроизведения на наушниках.
В экранной клавиатуре phosh-osk-stub добавлен режим автодополнения
emoji и реализован индикатор введённого символа.
Решена проблема с блокированием ввода при показе экранного индикатора (OSD).
Продолжена подготовка к переходу на GTK4.
Обновлены версии зависимостей:
wlroots 0.18.2,
GNOME 48,
Calls 48,
feedbackd 0.8.2,
feedbackd-device-themes 0.8.3,
callaudiod 0.1.10,
wys 0.1.12 и
mmsd-tng 2.6.3.