Представлен выпуск фреймворка GNUnet 0.20, предназначенного для построения защищённых децентрализованных P2P-сетей. Создаваемые при помощи GNUnet сети не имеют единой точки отказа и способны гарантировать неприкосновенность частной информации пользователей, в том числе исключить возможные злоупотребления со стороны спецслужб и администраторов, имеющих доступ к узлам сети.
GNUnet поддерживает создание P2P-сетей поверх TCP, UDP, HTTP/HTTPS, Bluetooth и WLAN, может работать в режиме F2F (Friend-to-friend). Поддерживается обход NAT, в том числе с использованием UPnP и ICMP. Для адресации размещения данных возможно использование распределённой хэш таблицы (DHT). Предоставляются средства для развёртывания mesh-сетей. Для выборочного предоставления и отзыва прав доступа применяется сервис децентрализованного обмена атрибутами идентификации reclaimID, использующий GNS (GNU Name System) и шифрование на основе атрибутов (Attribute-Based Encryption).
Система отличается низким потреблением ресурсов и использованием многопроцессной архитектуры для обеспечения изоляции между компонентами. Предоставляются гибкие средства для ведения логов и накопления статистики. Для разработки конечных приложений GNUnet предоставляет API для языка Си и биндинги для других языков программирования. Для упрощения разработки вместо потоков предлагается использовать циклы обработки событий (event loop) и процессы. В состав входит тестовая библиотека для автоматического развёртывания экспериментальных сетей, охватывающих десятки тысяч пиров.
На базе технологий GNUnet развивается несколько готовых приложений:
Система доменных имён GNS (GNU Name System), выступающая в качестве полностью децентрализованной и недоступной для цензуры замены DNS. GNS может применяться бок о бок с DNS и использоваться в традиционных приложениях, таких как web-браузеры. В отличие от DNS в GNS вместо древовидной иерархии серверов применяется направленный граф. Преобразование имён сходно с DNS, но запросы и ответы выполняются с сохранением конфиденциальности - обрабатывающий запрос узел не знает кому отдаётся ответ, а транзитные узлы и сторонние наблюдатели не могут расшифровать запросы и ответы. Целостность и неизменность записей обеспечивается за счёт использования криптографических механизмов. DNS-зона в GNS определяется при помощи связки из открытого и закрытого ключей ECDSA на основе эллиптических кривых Curve25519.
Сервис для анонимного обмена файлами, не позволяющий проанализировать информацию за счёт передачи данных только в зашифрованном виде и не дающий отследить кто разместил, искал и скачал файлы, благодаря использованию протокола GAP.
Система VPN для создания скрытых сервисов в домене ".gnu" и проброса туннелей IPv4 и IPv6 поверх P2P-сети. Дополнительно поддерживаются схемы трансляции IPv4-в-IPv6 и IPv6-в-IPv4, а также создание туннелей IPv4-поверх-IPv6 и IPv6-поверх-IPv4.
Сервис GNUnet Conversation для совершения голосовых вызовов поверх GNUnet. Для идентификации пользователей используется GNS, содержимое голосового трафика передаётся в зашифрованном виде. Анонимность пока не предоставляется - другие пиры могут отследить соединение между двумя пользователями и определить их IP-адреса.
Платформа для построения децентрализованных социальных сетей Secushare, использующая протокол PSYC и поддерживающая распространение уведомлений в режиме multicast с применением end-to-end шифрования для того, чтобы доступ к сообщениям, файлам, чатам и обсуждениям могли получить только авторизированные пользователи (те кому сообщения не адресованы, включая администраторов узлов, не смогут их прочитать);
Система для организации шифрованной электронной почты pretty Easy privacy, применяющая GNUnet для защиты метаданных и поддерживающая различные криптографические протоколы для верификации ключей;
Платёжная система GNU Taler, предоставляющая анонимность для покупателей, но отслеживающая транзакции продавцов для обеспечения прозрачности и предоставления налоговой отчётности. Поддерживается работа с различными существующими валютами и электронными деньгами, в том числе с долларами, евро и биткоинами.
Сервис GNUnet Messenger для создания защищённых приложений для чата. Для обеспечения конфиденциальности и защиты от перехвата сообщений применяется протокол CADET (Confidential Ad-hoc Decentralized End-to-End Transport), позволяющий организовать полностью децентрализованное взаимодействие между группой пользователей с использованием сквозного шифрования передаваемых данных.
В новой версии GNUnet внесены изменения, нарушающие совместимость протокола и приводящие к возможным проблемам при взаимодействии узлов на базе GNUnet 0.20 и старых выпусков. В библиотеку libgnuneutil перенесены функции GNUNET_STRINGS_get_suffix_from_binary_name и GNUNET_s. Добавлены функции GNUNET_JSON_spec_object_const, GNUNET_JSON_spec_array_const, GNUNET_PQ_get_oid_by_name иGNUNET_PQ_get_oid. Добавлен API KEM (Key Encapsulation Mechanism).
После четырёх лет разработки представлен новый стабильный выпуск системы управления проектами Trac 1.6 (ветка 1.5 была экспериментальной), предоставляющей web-интерфейс для работы с репозиториями Subversion и Git, встроенный Wiki, систему отслеживания ошибок и раздел планирования функциональности для новых версий. Код написан на языке Python и распространяется под лицензией BSD. Для хранения данных могут применяться СУБД SQLite, PostgreSQL и MySQL/MariaDB.
Trac придерживается минималистичного подхода к управлению проектом и позволяет автоматизировать типовые рутинные операции с минимальным влиянием на уже сложившиеся в среде разработчиков процессы и правила. Встроенный wiki-движок даёт возможность использовать wiki-разметку в описаниях проблем, целей и коммитов. Поддерживается создания ссылок и организация связей между сообщениями об ошибках, задачами, изменениями в коде, файлами и wiki-страницами. Для отслеживания всех событий и активности в проекте предлагается интерфейс в виде шкалы времени.
В форме плагинов доступны модули для ведения новостных лент, создания дискуссионной площадки, проведения опросов, взаимодействия с различными системами непрерывной интеграции, генерации документации в Doxygen, управления загрузками, отправки уведомлений через Slack, поддержки Subversion и Mercurial.
Опубликован выпуск проекта RetroArch 1.16, развивающего надстройку для эмуляции различных игровых консолей, позволяющую запускать классические игры при помощи простого унифицированного графического интерфейса. Поддерживается использование эмуляторов таких консолей, как Atari 2600/7800/Jaguar/Lynx, Game Boy, Mega Drive, NES, Nintendo 64/DS, PCEngine, PSP, Sega 32X/CD, SuperNES и т.д. Могут использоваться геймпады от уже имеющихся игровых приставок, включая Playstation 3, Dualshock 3, 8bitdo, XBox 1 и XBox360, а так же геймпады общего назначения, такие как Logitech F710. Эмулятор поддерживает такие расширенные возможности, как многопользовательские игры, сохранение состояния, улучшение качества изображения старых игр при помощи шейдеров, перемотку игры назад, горячее подключение игровых пультов и видеостриминг.
После 4 лет разработки опубликован выпуск операционной системы GeckOS 2.1, нацеленной на использование на системах с восьмиразрядными процессорами MOS 6502 и MOS 6510, применявшихся в ПК Commodore PET, Commodore 64 и CS/A65. Проект развивается одним автором (André Fachat) с 1989 года, написан на языках ассемблер и Си, и распространяется под лицензией GPLv2.
Операционная система оснащена микроядром, поддерживает вытесняющую многозадачность и систему управления памятью, предоставляет типовые Unix-утилиты (sh, mkdir, ps, ls и т.п.) и примитивы (многопоточность, семафоры, сигналы и т.п.), развивает стандартную библиотеку lib6502, включает упрощённый TCP/IP стек с возможностью запуска сетевых приложений (например, доступен http-сервер). В минимальной сборке ядро системы занимает всего 2 КБ, а в полной - 4 КБ. Ядро не зависит от оборудования - все специфичные для аппаратного обеспечения компоненты вынесены в отдельный слой.
В новой версии улучшена реализация утилит ps и ls, добавлено приложение setinfo для изменения информации о выполняемых задачах, созданы утилиты
kill, hexdump, wc и more, предложен новый командный интерпретатор lsh.
Улучшена работа портов для платформ C64, PET и CBM 8x96. Возвращён порт для платформы CS/A65.
Компания Red Hat поприветствовала присоединение Intel к разработке дистрибутива CentOS Stream. Intel подключился к рабочим группам CentOS Stream, курирующим вопросы, связанные с поддержкой процессорных архитектур и наборов инструкций, виртуализации и создания решений для больших инфраструктур. Ожидается, что участие Intel повысит эффективность поддержки новейших аппаратных архитектур, а также позволит увеличить производительность продуктов Red Hat на системах с процессорами Intel и реализовать в RHEL поддержку таких технологий Intel, как QAT (QuickAssist Technology).
Дополнительно на конференции Innovation 2023 в одном из докладов Intel было упомянуто сотрудничество с Red Hat, Canonical и SUSE в работе по оптимизации производительности дистрибутивов для новых процессоров Intel.
После 5 лет разработки представлен новый стабильный релиз векторной графической библиотеки Cairo 1.18.0. Код Cairo распространяется под лицензиями LGPL и Mozilla Public License.
Cairo предоставляет унифицированный программный интерфейс для векторного формирования изображений, похожий на операции рисования в PostScript и PDF, но не зависящий от отдельных механизмов вывода. Формирование 2D-графики может производиться при помощи различных бэкендов вывода, от стандартного вывода на экран через X Window System, Quartz и Win32, до генерации PostScript, PDF, SVG и задействования OpenGL, XCB и DirectFB. Кроме функций, напоминающих операторы рисования PostScript и PDF, API библиотеки предоставляет такие дополненные возможности, как трансформация изображений (масштабирование, поворот, вращение и т.п.), создание полупрозрачных объектов и рендеринг текста.
Проект Wine опубликовал выпуск пакета vkd3d 1.9 с реализацией 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 реализована трансляция байткода 4 и 5 моделей шейдеров в промежуточное представление SPIR-V. Поддерживаются вершинные, пиксельные, тесселяционные, вычислительные и простые геометрические шейдеры, сериализация и десериализация корневой сигнатуры. Из шейдерных инструкций реализованы арифметические, атомарные и битовые операции, операторы сравнения и управления потоком передачи данных, инструкции sample, gather и load, операции неупорядоченного доступа (UAV, Unordered Access View).
Добавлена утилита vkd3d-dxbc для инспектирования блобов DXBC и продолжена работа по улучшению компилятора шейдеров на языке HLSL (High-Level Shader Language).
Реализованы встроенные функции clip(),
ddx_coarse(), ddy_coarse(), ddx_fine(), ddy_fine(), tex1D(), tex2D(), texCUBE() и tex3D().
В функции vkd3d_shader_scan() появилась возможность извлечения информации о дескрипторе для шейдеров d3dbc.
Добавлена поддержка свёртки констант для операторов сравнения, min() и max() с числами с плавающей запятой, логических операций AND и OR, квадратных корней и логарифмов.
Упрощено определение объектов мультисэмпловых текстур.
Для функций реализован модификатор "inline".
В функции ID3D12GraphicsCommandList::CopyResource() добавлена поддержка копирования между форматами цвета и глубины/масок (stencil).
Добавлена поддержка интерфейса ID3D12Fence1.
Добавлены структуры vkd3d_shader_scan_signature_info и vkd3d_shader_varying_map_info, а также связанные с ними функции
vkd3d_shader_free_scan_signature_info() и vkd3d_shader_build_varying_map().
После двух лет разработки опубликован релиз визуальной операционной системы Visopsys 0.92 (VISual OPerating SYStem), разрабатываемой с 1997 года и не похожей на Windows и Unix. Код системы разработан с нуля и распространяется в исходных текстах под лицензией GPLv2. Загрузочный Live-образ занимает 23 МБ.
Графическая подсистема, при помощи которой формируется интерфейс пользователя, интегрирована прямо в ядро ОС, при этом поддерживается и работа в консольном режиме. Из файловых систем в режиме чтения/запись предлагаются FAT32, в режиме только для чтения дополнительно поддерживаются Ext2/3/4. В Visopsys реализована вытесняющая многозадачность, многопоточность, сетевой стек, динамическое связывание, поддержка асинхронного ввода/вывода и виртуальной памяти. Подготовлен типовой набор приложений и стандартных Си-библиотек. Ядро работает в 32-разрядном защищенном режиме и оформлено в массивно-монолитном стиле (все вкомпилировано, без поддержки модулей). Исполняемые файлы оформлены в стандартном формате ELF. Имеется встроенная поддержка изображений JPG, BMP и ICO.
Добавлена поддержка 64-разрядных файловых систем EXT2/3/4 (в режиме чтения).
Проведена работа по переводу реализации многозадачности в ядре на программное переключение задач. В частности, реализована функция contextSwitch(), добавлен поток collector для очистки завершённых процессов, планировщик задач преобразован для работы в форме обработчика прерываний.
Расширены возможности текстового редактора "edit", в котором появились элементы "New" и "Save As" в меню.
Добавлена оконная библиотека для создания диалогов "cancel", отменяющих незавершённые операции. Например, данный диалог можно использовать для отмены очень долго устанавливаемых TCP-соединений.
В сниффер пакетов добавлена поддержка фильтров, отсеивающий определённый вид трафика (TCP, ARP и т.п.).
Добавлена программа errno для вывода сообщений, связанных с заданными кодами ошибок.
Обновлены используемые в ядре функции хэширования на базе алгоритма MD5. Программа md5 разделена на отдельные утилиты md5pass и md5sum для создания хэшей для строк и файлов.
Улучшено использование блокировок для структур ядра.
В стандартную библиотеку добавлена функция strndup(). Реализована глобальная таблица строк, ассоциированных с кодами ошибок.
Разработчики Arch Linux объявили о смене применяемой по умолчанию схемы хеширования паролей с SHA512 на yescrypt, а также о переходе на хранение настроек параметра umask в файле конфигурации /etc/login.defs вместо /etc/profile. В качества варианта для хэширования паролей также рассматривался алгоритм Argon2, который в 2015 году победил в соревновании Password Hashing Competition, но он не применён в Arch Linux так как не поддерживается в библиотеке libxcrypt, используемой в PAM.
Yescrypt расширяет возможности классического scrypt поддержкой использования схем с большим расходом оперативной памяти и снижает эффективность атак, использующих GPU, FPGA и специализированные чипы. Безопасность Yescrypt обеспечивается благодаря применению уже проверенных криптографических примитивов SHA-256, HMAC и PBKDF2.
Из недостатков ранее применявшейся схемы хэширования паролей на основе алгоритма SHA512 можно выделить: необходимость задания достаточно больших значений salt (не менее 128 бит); подверженность DoS-атакам через создание паразитной нагрузки на CPU при хэшировании длинных паролей; подверженность атаке по определению размера пароля на основе пассивного анализа времени обработки хэша; работа без применения криптографической функции формирования ключа (KDF, key derivation function).
Дополнительно можно отметить обновление инсталлятора Archinstall 2.6.1, который с апреля 2021 года в качестве опции входит в состав установочных iso-образов Arch Linux. Archinstall может использоваться вместо предлагаемого по умолчанию ручного режима установки дистрибутива, предоставляя диалоговый (guided) и автоматизированный режимы установки.В диалоговом режиме пользователю последовательно задаются вопросы, охватывающие основные настройки и действия из руководства по установке. В автоматизированном режиме имеется возможность использования скриптов для развёртывания типовых конфигураций. Инсталлятор также поддерживает профили установки, например, профиль "desktop" для выбора рабочего стола (KDE, GNOME, Awesome) и установки необходимых для его работы пакетов, или профили "webserver" и "database" для выбора и установки начинки web-серверов и СУБД.
В новой версии у пользователя появилась возможность задания произвольного числа параллельных загрузок, добавлена опция для использования ly в качестве консольного дисплейного менеджера, а также использования slick-greeter вместо gtk-greeter в lightdm. В профиль, формирующий окружение на основе композитного сервера Hyprland, добавлены приложения kitty, dolphin и wofi.
Представлен бета-выпуск дистрибутива Ubuntu 23.10 "Mantic Minotaur", после формирования которого произведена полная заморозка пакетной базы, и разработчики перешли к итоговому тестированию и исправлению ошибок. Релиз, который отнесён к промежуточным выпускам, обновления для которых формируются в течение 9 месяцев, запланирован на 12 октября. Готовые тестовые образы созданы для Ubuntu, Ubuntu Server, Lubuntu, Kubuntu, Ubuntu Mate, Ubuntu Budgie, Ubuntu Studio, Xubuntu, UbuntuKylin (редакция для Китая), Ubuntu Unity, Edubuntu и Ubuntu Cinnamon.
Рабочий стол обновлён до выпуска GNOME 45, в котором в панели появился динамический индикатор виртуальных рабочих столов, повышена производительность системы поиска, добавлен индикатор включения камеры, задействовано аппаратное ускорение воспроизведения видео, заменены просмотрщик изображений и приложение для работы с камерой, изменён стиль отображения боковых панелей, обновлены библиотеки GTK 4.12 и libadwaita 1.4. Из специфичных для Ubuntu изменений отмечается включение в поставку приложения GNOME Clocks.
Ядро Linux обновлено до версии 6.5. Из специфичных для Ubuntu изменений в пакете с ядром выделяется сжатие модулей с использованием алгоритма zstd, что позволило сократить время загрузки.
В пакет с ядром добавлены свежие наборы патчей для shiftfs, Apparmor и LSM. По умолчанию включён механизм MGLRU (Multi-Generational LRU), который заменяет старую реализацию LRU (Least Recently Used) на основе двух очередей на многоступенчатую структуру, лучше определяющую какие страницы памяти по настоящему используются, а какие можно вытеснить в раздел подкачки.
Проведена оптимизация настроек ядра с целью снижения задержек при выполнении десктоп-ориентированных задач. Реализация ZFS обновлена до версии 2.2.0~rc3. В ФС Ceph перенесена поддержка маппинга пользовательских идентификаторов при монтировании.
Обновлены версии GCC 13.2.0, binutils 2.41, glibc 2.38, Python 3.11.5 (в репозитории также доступен Python 3.12.0-rc2), Perl 5.36.0, LLVM 16 (в репозитории также доступен LLVM 17), Rust 1.71, OpenJDK 21 (также оставлен OpenJDK 17), .NET 7.0.110, Go 1.21,
Обновлены пользовательские приложения, среди которых Firefox 117, LibreOffice 7.6, Thunderbird 115.2, GIMP 2.10.34, Rhythmbox 3.4.7, Blender 3.6.2, Krita v5.1.5, Scribus 1.5.8,
Darktable 4.2.1, Inkscape 1.2.2, OBS Studio 29.1.3.
Обновлены серверные пакеты: Nginx 1.24, Apache httpd 2.4.57, Django 4.2, Dovecot 2.3.20, Spamassassin 4 (с поддержкой DMARC), Docker n 24.0.5, Containerd 1.7.2, Runc 1.1.7.
Добавлена экспериментальная поддержка шифрования дисков, не требующая ввода пароля разблокировки диска при загрузке, благодаря хранению информации для расшифровки ключей в TPM (Trusted Platform Module).
В инсталляторе возвращена поддержка файловой системы ZFS.
Предложен новый менеджер приложений Ubuntu Store, написанный на языке Dart с использованием фреймворка Flutter и адаптивных методов компоновки интерфейса для корректной работы на экранах любого размера. Ubuntu Store реализует комбинированный интерфейс для работы с пакетами в формате DEB и Snap (при наличии одной программы в пакетах deb и snap по умолчанию выбирается snap), позволяет выполнять поиск и навигацию по каталогу пакетов snapcraft.io и подключённым DEB-репозиториям, даёт возможность управлять установкой, удалением и обновлением приложений, устанавливать отдельные deb-пакеты из локальных файлов. В приложении задействована новая система рейтинга, в которой пятибалльная шкала оценки заменена на голосование в формате нравится/не нравится (+1/-1), на основе которого выводится виртуальный пятизвёздочный рейтинг. Поставка старого менеджера приложений Ubuntu Software сохранена в качестве опции.
Добавлено новое приложение для обновления прошивок (Firmware Updater), позволяющее устанавливать обновления прошивок без запуска фонового сервиса управления обновлениями.
Добавлен пакет fonts-ubuntu-classic, в котором предложен набор классических шрифтов, используемых в Ubuntu до выпуска 23.04.
Реализована поддержка аппаратного кодирования и декодирования видео в snap-пакете с браузером Chromium.
Расширены инструменты управления конфиденциальностью - добавлен механизм, запрашивающий у пользователя полномочия при необходимости предоставления приложениям дополнительных прав (например, для доступа к определённым файлам).
Повышена безопасность управления ключами PPA-репозиториев. Утилита add-apt-repository теперь добавляет все данные PPA-репозиториев в .sources-файлы в формате deb822, вместо раздельного добавления .list-файла в
/etc/apt/sources.list.d/ и gpg-ключа в /etc/apt/trusted.gpg.d.
Для установки Ubuntu Desktop в новом инсталляторе по умолчанию задействован режим "minimal". Для получения возможности начальной установки дополнительных приложений, таких как LibreOffice и Thunderbird, доступна возможность выбора расширенного режима установки (Expanded installation).
В Ubuntu Desktop для хранения настроек сетевых интерфейсов задействована система Netplan, уже применяемая в Ubuntu Server. При обновлении системы миграция настроек и профилей NetworkManager (из /etc/NetworkManager/system-connections/ в /etc/netplan/90-NM-*.yaml ) выполняется автоматически (копия старых настроек и профилей сохраняется в /etc/netplan/01-network-manager-all.yaml.dpkg-backup и /var/lib/NetworkManager/backups/). Файл конфигурации /etc/netplan/01-network-manager-all.yaml перенесён в /lib/netplan/00-network-manager-all.yaml, так как его теперь не рекомендуется изменять вручную.
Включён механизм Active Directory Certificate Auto Enrollment, позволяющий автоматически получать сертификаты из сервисов Active Directory при включении групповых политик. Автоматическое получение сертификатов через Active Directory также применяется при подключении к корпоративным беспроводным сетям и VPN.
В сборках для плат Raspberry Pi добавлена официальная поддержка модулей с камерами, среди прочего оснащёнными автофокусом. Библиотека libcamera обновлена до версии 0.1. Настройки cloud-init изменены для отключения по умолчанию парольной аутентификации в сервере SSH.
Доступ к пространствам имён идентификаторов пользователя (user namespace) теперь предоставляется только программам, для которых добавлен специальный профиль AppArmor (например, для Chrome создан профиль /etc/apparmor.d/opt.google.chrome.chrome, который можно использовать в качестве примера для открытия доступа к user namespace для других программ). Изменение позволит повысить защищённость систем, использующих контейнерную изоляцию, от уязвимостей, для эксплуатации которых необходим доступ к user namespace.
Развивается редакция Ubuntu Core Desktop, основанная на платформе Ubuntu Core и включающая только приложения, оформленные с использованием пакетов в формате Snap.
В Kubuntu предложен рабочий стол KDE Plasma 5.27.8 и набор приложений KDE Gear 23.08.1.
В Xubuntu
обновлено окружение на базе Xfce 4.18. Задействованы новые версии Mousepad 0.6.1, Ristretto 0.13.1, Xfce Power Manager 4.18.2, Xfce Screensaver 4.18.2, Xfce PulseAudio Plugin 0.4.7, Xfce Screenshooter 1.10.4, elementary-xfce 0.18, Greybird 3.23.3, GNOME Disk Usage Analyzer (baobab), GNOME Fonts (gnome-font-viewer) и GNOME Document Scanner (simple-scan). В некоторых компонентах Xfce улучшена поддержка масштабирования интерфейса. В состав включены цветные emoji. Улучшена поддержка наушников с интерфейсом Bluetooth. Добавлена поддержка новых сенсорных устройств ввода, таких как Apple Magic Trackpad.
В Ubuntu Studio обновлены версии Carla 2.5.6, Audacity 3.3.3, Ardour 7.5.0, Patchance 1.1.0, digiKam 8.1.0, OBS Studio upgraded to 29.1.3, Blender 3.6.2, KDEnlive 23.08.1, Freeshow 0.9.7, Q Light Controller Plus 4.12.7.
В Ubuntu MATE задействован выпуск MATE Desktop 1.26.3, а панель MATE Panel обновлена до ветки 1.27 и включает дополнительные патчи.
В Lubuntu по умолчанию предложено пользовательское окружение LXQt 1.3.
В Ubuntu Budgie рабочий стол Budgie обновлён до версии 10.8. Добавлен новый апплет с реализацией корзины. Добавлена поддержка Magpie, форка Mutter. Улучшен диалог аутентификации, выводимый при необходимости предоставления расширенных прав доступа. Реализован выбор профиля производительности (экономия энергии, сбалансированное энергопотребление и максимальная производительность).
Опубликован выпуск Linux-дистрибутива Bottlerocket 1.15.0, развиваемого при участии компании Amazon для эффективного и безопасного запуска изолированных контейнеров. Инструментарий и управляющие компоненты дистрибутива написаны на языке Rust и распространяются под лицензиями MIT и Apache 2.0. Поддерживается запуск Bottlerocket в кластерах Amazon ECS, VMware и AWS EKS Kubernetes, а также создание произвольных сборок и редакций, допускающих применение различных инструментов оркестровки и runtime для контейнеров.
Дистрибутив предоставляет атомарно и автоматически обновляемый неделимый системный образ, включающий ядро Linux и минимальное системное окружение, включающие только компоненты, необходимые для запуска контейнеров. В окружении задействованы системный менеджер systemd, библиотека Glibc, сборочный инструментарий
Buildroot, загрузчик GRUB, конфигуратор сети wicked, runtime для изолированных контейнеров containerd, платформа оркестровки контейнеров Kubernetes, аутентификатор aws-iam-authenticator и агент Amazon ECS.
Инструменты для оркестровки контейнеров поставляются в отдельном управляющем контейнере, который включается по умолчанию и управляется через API и AWS SSM Agent. В базовом образе отсутствует командная оболочка, сервер SSH и интерпретируемые языки (например, нет Python или Perl) - средства для администратора и отладочные инструменты вынесены в отдельный служебный контейнер, который по умолчанию отключён.
Ключевым отличием от похожих дистрибутивов, таких как Fedora CoreOS, CentOS/Red Hat Atomic Host является первичная ориентация на предоставление максимальной безопасности в контексте усиления защиты системы от возможных угроз, усложнения эксплуатации уязвимостей в компонентах ОС и повышения изоляции контейнеров. Контейнеры создаются при помощи штатных механизмов ядра Linux - cgroups, пространств имён и seccomp. Для дополнительной изоляции в дистрибутиве применяется SELinux в режиме "enforcing".
Корневой раздел монтируется в режиме только для чтения, а раздел с настройками /etc монтируется в tmpfs и восстанавливает исходное состояние после перезапуска. Прямое изменение файлов в каталоге /etc, таких как /etc/resolv.conf и /etc/containerd/config.toml, не поддерживается - для постоянного сохранения настроек следует использовать API или выносить функциональность в отдельные контейнеры. Для криптографической верификации целостности корневого раздела задействован модуль dm-verity, а в случае выявления попытки модификации данных на уровне блочного устройства система перезагружается.
Большинство системных компонентов написаны на языке Rust, предоставляющем средства для безопасной работы с памятью, позволяющие избежать уязвимостей, вызванных обращением к области памяти после её освобождения, разыменованием нулевых указателей и выходом за границы буфера. При сборке по умолчанию применяются режимы компиляции "--enable-default-pie" и "--enable-default-ssp" для включения рандомизации адресного пространства исполняемых файлов (PIE) и защиты от переполнения стека через подстановку канареечных меток.
Для пакетов, написанных на языке C/C++, дополнительно включаются флаги
"-Wall", "-Werror=format-security", "-Wp,-D_FORTIFY_SOURCE=2", "-Wp,-D_GLIBCXX_ASSERTIONS" и "-fstack-clash-protection".
В новом выпуске:
На платформах, использующих UEFI, добавлена поддержка безопасного режима загрузки (Secure Boot).
Ядро Linux обновлено до версии 6.1. Системный менеджер systemd обновлён до версии 252.
Для настройки сети на хостах задействованы компоненты systemd-networkd и systemd-resolved вместо сервиса wicked.
Локальное хранилище переведено на использование файловой системы XFS для новых установок (на уже установленных системах продолжат использоваться EXT4, wicked и прошлые ядра).
Обновлено содержимое управляющего (control) и администрирующего (admin) контейнеров.
Добавлена команда "apiclient report" для генерации отчёта CIS (Center of Internet Security) с оценкой безопасности настроек. Также в состав включён агент для проверки соответствия системы требованиям CIS.
В параметры, задаваемые по умолчанию для контейнеров OCI, добавлены настройки ограничения ресурсов.
Предложен новый вариант дистрибутива "aws-ecs-2" для Amazon Elastic Container Service (Amazon ECS), в котором используется UEFI Secure Boot, systemd-networkd и XFS. Во всех вариантах дистрибутива для Amazon ECS добавлена поддержка AppMesh.
Предложены новые варианты дистрибутива c поддержкой Kubernetes 1.28, в которых используются UEFI Secure Boot, systemd-networkd и XFS.
Прекращена поддержка вариантов на базе Kubernetes 1.22 и обновлены версии Kubernetes 1.27.4, 1.26.7, 1.25.12 и 1.24.16 в остальных поддерживаемых вариантах. В варианты на базе Kubernetes 1.25 и более новых выпусков добавлена настройка SeccompDefault.
В вариантах дистрибутива "metal-*" (Bare Metal, для работы поверх обычного оборудования) включён драйвер Intel VMD и добавлены пакеты linux-firmware и aws-iam-authenticator.
В сетевой подсистеме ядра Linux выявлена уязвимость (CVE-2023-42752), позволяющая через манипуляции с сетевыми сокетами в пространстве пользователя перезаписать содержимое памяти ядра, что потенциально может использоваться для организации выполнение непривилегированным пользователем своего кода на уровне ядра. Уязвимость является локальной и не может быть эксплуатирована удалённо по сети. Включение механизма защиты SMAP (Supervisor Mode Access Prevention) в ядре блокирует проблему.
Уязвимость вызвана целочисленным переполнением в функции ядра Linux "__alloc_skb", обеспечивающей выделение памяти для структуры sk_buff (socket buffer), которая используется для хранения сетевых пакетов. Переполнение возникает из-за отсутствия должной проверки получаемых от пользователя параметров, применяемых для вычисления размера буфера.
Для совершения атаки непривилегированным пользователем требуется доступ к созданию пространств имён идентификаторов пользователя (user namespace), которые могут предоставляться, например, в изолированных контейнерах.
Началось тестирование бета-версии дистрибутива Fedora Linux 39. Бета-выпуск ознаменовал переход на финальную стадию тестирования, при которой допускается только исправление критических ошибок. Релиз запланирован на 17 октября. Выпуск охватывает Fedora Workstation, Fedora Server, Fedora Silverblue, Fedora IoT, Fedora CoreOS, Fedora Cloud Base, Fedora Onyx и Live-сборки, поставляемые в форме спинов c пользовательскими окружениями KDE Plasma 5, Xfce, MATE, Cinnamon, LXDE, Phosh, LXQt, Budgie и Sway . Сборки сформированы для архитектур x86_64, Power64 и ARM64 (AArch64).
Рабочий стол в Fedora Workstation обновлён до выпуска GNOME 45.
В командном интерпретаторе Bash по умолчанию включено цветное оформление командной строки.
В NetworkManager обеспечен автоматический перевод существующих профилей соединений, хранимых в формате ifcfg (/etc/sysconfig/network-scripts/ifcfg-*), в формат на основе файла keyfile.
Добавлены мета-пакеты default-fonts* для упрощения обновления и установки шрифтов, предлагаемых по умолчанию.
Предоставлена возможность удаления пакета tzdata с БД часовых поясов для сокращения размера изолированных контейнеров.
Прекращена сборка и поставка отдельно обновляемых модулей,
жизненный цикл которых не привязан к основной начинке дистрибутива, а поддержка осуществляется независимо от релизов дистрибутива, что позволяло обеспечить сосуществование пакетов с разными версиями одного и того же приложения. В качестве причины прекращение поддержки модулей отмечается потеря интереса к разработке модулей и проблемы с сопровождением существующих модулей (последняя активность в pagure.io/modularity наблюдалась более 3 лет назад).
Из базовой установки удалён пакет fedora-repos-modular и отключён модульный репозиторий. Изменение позволило ускорить работу пакетного менеджера DNF за счёт сокращения числа проверок и загрузок метаданных.
Изменён способ сборки Flatpak-пакетов в дистрибутиве. Вместо использования модулей при пересборке пакетов с параметром "prefix=/app", задействована отдельная сборочная цель.
Значение sysctl vm.max_map_count по умолчанию увеличено с 65530 до 1048576 для улучшения совместимости c Windows-играми, запускаемыми через wine или steam.
В утилите createrepo_c по умолчанию задействован алгоритм Zstd для сжатия метаданных репозитория и прекращена генерация метаданных в БД SQLite.
Удалён пакет pam_console, который не применялся по умолчанию, имел проблемы с безопасностью и мог быть заменён на функциональность из systemd.
Обновлены версии пакетов, среди которых RPM 4.19, gcc 13.2, LLVM/Clang 17, binutils 2.40, glibc 2.38, Python 3.12, Perl 5.38, Golang 1.21, Boost 1.81, Vagrant 2.3, Haskell GHC 9.4, LibreOffice 7.6.
Прекращена поставка тем оформления QGnomePlatform и Adwaita-qt, применявшихся для придания Qt-приложениям GNOME-подобных настроек и стиля, чтобы данные приложения лучше вписывались в окружение GNOME. В качестве причины упоминается стагнация данных тем и проблемы при их использовании с некоторыми приложениями.
Объявлены устаревшими пакеты с системой проверки правописания
aspell, вместо которых рекомендуется использовать hunspell или enchant2. В качестве причины называется отсутствие обновлений в проекте aspell в течение последних 4 лет.
В Fedora Cloud реализована возможность автоматической перезагрузки после установки обновлений пакетов, требующих перезагрузки системы. Возможность организована через создание файла /var/run/reboot-required после выполнения операции "dnf update" и его проверки в cloud-init.
Пользователям, управляемым через Active Directory, FreeIPA или LDAP, предоставлена возможность использования технологии Passkeys, позволяющей проходить аутентификацию без паролей с использованием биометрических идентификаторов, таких как отпечаток пальца или распознавание лица, используя FIDO2-совместимое устройство, поддерживаемое в библиотеке libfido2.
Прекращена поставка пакета с man-pages-ru, так как переводы man-руководств на русский язык также входят в состав пакета man-pages-l10n.
Минимальный размер раздела ESP (EFI System Partition), используемого при установке Fedora, увеличен с 200 до 500 МБ из-за нехватки места под обновления прошивок. Ограничение в 500 МБ соответствует параметрам, используемым Microsoft, начиная с Windows 10.
Проведены подготовительные работы, связанные со второй стадией перехода на модернизированный процесс загрузки, предложенный Леннартом Поттерингом. Отличия от классической загрузки сводятся к использованию вместо образа initrd, формируемого на локальной системе при установке пакета с ядром, унифицированного образа ядра UKI (Unified Kernel Image), генерируемого в инфраструктуре дистрибутива и заверенного цифровой подписью дистрибутива. UKI объединяет в одном файле обработчик для загрузки ядра из UEFI (UEFI boot stub), образ ядра Linux и загружаемое в память системное окружение initrd. При вызове образа UKI из UEFI предоставляется возможность проверки целостности и достоверности по цифровой подписи не только ядра, но и содержимого initrd, проверка достоверности которого важна так как в данном окружении осуществляется извлечение ключей для расшифровки корневой ФС. Основные цели для реализации на второй и третьей стадиях: интеграция в инсталлятор поддержки systemd-boot, уход от привязки к использованию командной строки ядра для настройки, прекращение хранения конфиденциальных данных в initrd, изменение обработки необязательных модулей dracut.
В редакции Fedora Kinoite (атомарно обновляемый вариант Fedora с KDE) по умолчанию включено автоматическое обновление в системы.
Для сборки редакций Fedora Silverblue и Fedora Kinoite задействован более безопасный унифицированный (unified core) режим rpm-ostree.
Началось формирование образов с пользовательским окружением LXQt для архитектуры Aarch64.
Добавлена официальная сборка Fedora Onyx с атомарно обновляемым вариантом Fedora Linux, оснащённым пользовательским окружением Budgie. Новая сборка дополняет классическую сборку Fedora Budgie Spin и напоминает редакции Fedora Silverblue, Fedora Sericea и Fedora Kinoite, поставляемые с GNOME, Sway и KDE. Fedora Onyx основан на технологиях Fedora Silverblue и также поставляется в форме монолитного образа, не разделяемого на отдельные пакеты и обновляемого атомарно через замену целиком. Базовое окружение собирается из официальных RPM-пакетов Fedora при помощи инструментария rpm-ostree и монтируется в режиме только для чтения. Для установки и обновления дополнительных приложений применяется система самодостаточных пакетов flatpak, при помощи которой приложения отделяются от основной системы и запускаются в отдельном контейнере.
Переход на пакетный менеджер DNF5 и новый инсталлятор на основе web-интерфейса отложены до выпуска Fedora 40. Также отменено намеченное на Fedora 39 удаление драйверов org-x11-drv-vesa и xorg-x11-drv-fbdev, и связанного с ними кода из пакета xorg-x11-server-Xorg. При этом разработчики рассматривают возможность прекращения в Fedora 40 поддержки сеанса на базе X11 в сборках дистрибутива с KDE и GNOME.
После шести месяцев разработки представлен релиз проекта LLVM 17.0 - GCC-совместимого инструментария (компиляторы, оптимизаторы и генераторы кода), компилирующего программы в промежуточный биткод RISC-подобных виртуальных инструкций (низкоуровневая виртуальная машина с многоуровневой системой оптимизаций). Сгенерированный псевдокод может быть преобразован при помощи JIT-компилятора в машинные инструкции непосредственно в момент выполнения программы.
Добавлена полная реализация типов nullptr и nullptr_t. Например, можно указывать "void func(nullptr_t); func(0); func((void *)0);".
В коде на языке Си предоставлена возможность проброса через выражение "goto" внутри блоков "asm" по косвенно выбранным меткам. Например, goto("mov %1, %0\n\tjmp %l[label]" : "=r" (x) : "r" (45) : : label);
Добавлена поддержка Си-расширения, позволяющего использовать в "_Generic" в качестве первого операнда тип, а не выражение. Например, "_Generic(typeof(i), int : 0, const int : 1);".
В константных выражениях на языке Си разрешено использование структур, объединений и массивов, объявленных с признаком "const".
Реализованы расширенные возможности, связанные со стандартом C++20:
Для всех платформ, за исключением Windows, обеспечена полная поддержка сопрограмм (Coroutines).
Реализованы дополнительные требования к операциям сравнения константных выражений.
Обеспечен корректный разбор лямбда-шаблонов, указанных сразу после параметров шаблона и содержащих в блоке "requires" переменную с зависимым типом.
Включён по умолчанию флаг "-Wreserved-module-identifier", приводящий к выводу предупреждения вместо ошибки при использовании зарезервированных идентификаторов в блоке экспорта модулей.
Добавлена поддержка выражения "requires cplusplus20" в описаниях связей заголовочных файлов с модулями (module map).
Реализованы дополнительные требования к применению операторов сравнения.
Зарезервировано использование двойного подчёркивания в пользовательских литералах и объявлено устаревшим использования ключевого слова "operator" в определении функций с зарезервированными идентификаторами в имени (например, 'double operator"" _Bq(long double);').
Обеспечено определение макроса "__cpp_consteval".
Разрешено использование CTAD для агрегатных типов.
Разрешено использование спецификатора "auto" для указателей и ссылок на массивы.
Реализованы расширенные возможности, связанные со стандартом C++23, который находится на финальной стадии утверждения в ISO:
Изменена область действия хвостового возвращаемого типа (trailing-return-type) в лямбда-функциях, который теперь сначала смотрит в перехваты, а затем в окружающий текст.
Ослаблены некоторые требования к "constexpr". Например, в constexpr-функциях разрешено указание переменных нелитеральных типов в качестве возвращаемых значений и параметров. Разрешён вызов в constexpr-функциях других функций и конструкторов, не являющихся "constexpr".
Добавлена поддержка выражения "requires cplusplus23" в описаниях связей заголовочных файлов с модулями (module map).
Реализовано требование, в соответствии с которым все функции, вызывающие функции с признаком consteval тоже становятся
consteval, т.е. выполняются при компиляции.
Реализованы расширенные возможности, связанные с будущим стандартом C++2с (C++26):
В компилятор добавлены новые флаги "-std=c++2c" и "-std=gnu++2c" для включения экспериментальной поддержки развивающейся спецификации C++2c.
Для constexpr реализована поддержка "стирания типа" через преобразование указателей в void* и обратно в исходный тип, что позволит добиться возможности выполнения std::format во время компиляции.
Частично реализована поддержка невычисляемых строк (unevaluated string), которые используются только на стадии компиляции в _Pragma, asm, extern, static_assert, [[deprecated]] и [[nodiscard]], и не попадают в скомпилированную программу.
Добавлена возможность использования в static_assert сгенерированных пользователем диагностических сообщений.
При компиляции приложений языке C++ при использовании режима оптимизации "-O0" улучшена генерация кода для вызовов, подобных std::forward_like, std::move и std::forward, которые теперь обрабатываются как встроенные в компилятор и не использующие стандартную библиотеку. Кроме того, улучшена генерация кода при динамическом приведении (dynamic_cast) к окончательному типу (для сравнения данных RTTI больше не используется runtime-библиотека и указатели vtable сравниваются напрямую).
Разрешено использование static_assert(false) в коде на C++ в контексте определения шаблона.
Добавлена поддержка встроенных функций (builtin):
"__builtin_nondeterministic_value" - возвращает недетерминированное значение с тем же типом.
"__builtin_assume_separate_storage" - проверяет, что аргумент указывает на объекты в отдельно выделенной памяти.
"__builtin_isfpclass" - проверяет сочетаемость значения с плавающей запятой с указанным классом данных.
"__builtin_elementwise_round" - предоставляет доступ к llvm.round для типов с плавающей запятой.
"__builtin_elementwise_rint" - предоставляет доступ к llvm.rint для типов с плавающей запятой.
"__builtin_elementwise_nearbyint" - предоставляет доступ к llvm.nearbyint для типов с плавающей запятой.
Добавлена поддержка встроенных функций stdio, доступных в GCC: __builtin_vprintf, __builtin_vfprintf, __builtin_fscanf, __builtin_scanf, __builtin_sscanf, __builtin_vfscanf, __builtin_vscanf, __builtin_vsscanf.
Добавлена возможность определения многомерных массивов через "__declspec(property)".
Добавлен новый встроенный типаж "__is_trivially_equality_comparable" проверяющий идентичность двух экземпляров типов (например, memcmp(&lhs, &rhs, sizeof(T)) == 0).
Добавлена поддержка переменной окружения NO_COLOR для отключения выделения цветом вывода.
Добавлены новые флаги компилятора: "-std=c++23", "-dumpdir", "-fcaret-diagnostics-max-lines",
"-fkeep-persistent-storage-variables", "-f[no-]assume-unique-vtables", "-print-multi-flags-experimental".
Для совместимости с GCC добавлены флаги "-maix32", "-maix64" и "-p".
Объявлен устаревшим флаг "-fdouble-square-bracket-attributes". Удалены устаревшие флаги "-fmodules-ts", "-fcoroutines-ts", "-lower-global-dtors-via-cxa-atexit" и "-no-opaque-pointers".
Добавлен новый атрибут функций "__attribute__((unsafe_buffer_usage))", сигнализирующий об осознанной небезопасной работе с буферами в функции (при указании атрибута для функции не выводится предупреждение "-Wunsafe-buffer-usage").
Значительно расширены средства диагностики и статического анализа, например, добавлены новые проверки переполнения знаковых целых чисел, корректности лямбда-шаблонов, выражений constexpr, сравнений с нулевыми указателями, использования неинициализированных структур и т.п. Доступен обзор новых возможностей диагностики с наглядными примерами.
В библиотеке Libc++ продолжена реализация поддержки возможностей стандартов C++20 и C++23, а также началась работа по обеспечению поддержки спецификации C++26.
После шести месяцев разработки представлен выпуск десктоп-окружения GNOME 45. Для быстрой оценки возможностей GNOME 45 предложены специализированные Live-сборки на основе openSUSE и установочной образ, подготовленный в рамках инициативы GNOME OS. GNOME 45 также уже включён в состав экспериментальных сборок Ubuntu 23.10 и Fedora 39.
Кнопка "Обзор" ("Activities"), размещённая в углу верхней панели, заменена на динамический индикатор виртуальных рабочих столов. Кроме того, с целью высвобождения места на панели для новых элементов оформления удалено меню приложения, показывающее имя активной программы.
Проведена оптимизация производительности системы поиска и снижено потребление ресурсов при выполнении таких приложений, как Software, Characters, Clocks, Files и Calculator.
В верхней панели предложен новый индикатор, сигнализирующий о включении камеры. Индикатор показывается только при обращении к камере из приложений, использующих мультимедийный сервер Pipewire (для приложений, работающих с камерой в обход Pipewire, индикатор не показывается). Обновлён стиль ранее доступного индикатора включения микрофона.
В меню быстрого изменения наиболее часто используемых настроек добавлена кнопка для управления клавиатурной подсветкой. Для быстрого открытия и закрытия меню быстрого изменения настроек предложена клавиатурная комбинация "Super/Windows + S".
Для повышения эффективности воспроизведения видео и создания скринкастов теперь используются доступные средства аппаратного ускорения.
Обновлено оформление изображений курсора. Повышена плавность перемещения указателя, даже при высокой нагрузке на систему.
Добавлен новый светлый системный стиль оформления интерфейса, который можно использовать вместо применяемого по умолчанию тёмного стиля. Новый стиль включается командой "gsettings set org.gnome.desktop.interface color-scheme prefer-light" (настройка для включения пока не интегрирована в конфигуратор).
В сеансе на базе Wayland реализована поддержка программного KVM-коммутатора Input Leap, позволяющего использовать одну клавиатуру и мышь для управления несколькими компьютерами.
По умолчанию предложен новый просмотрщик изображений, оснащённый лёгким интерфейсом и оптимизированный для быстрого просмотра изображений. В приложении поддерживается плавный переход от одного изображения к другому, применяются визуальные эффекты при масштабировании и повороте картинки, присутствует боковая панель со свойствами, доступны кнопки для быстрого копирования и удаления, предоставляются настройки вывода на печать. Интерфейс построен с использованием адаптивного оформления, которое подстраивается под текущие параметры экрана, может применяться на мобильных устройствах с небольшими экранами и управляться с сенсорного экрана с использованием типовых жестов, таких как масштабирование щипком.
В состав включено новое приложение для работы с камерой, в котором используется адаптивное оформление и прозрачная панель с элементами управления, накладываемая поверх изображения. Программа оснащена возможностью записи отдельных снимков или видео, поддержкой переключения между несколькими камерами, встроенным просмотрщиком ранее сохранённых изображений и видео.
Продолжен перевод приложений на использование GTK 4 и библиотеки libadwaita, которая предлагает готовые виджеты и объекты для построения приложений, соответствующие новым рекомендациям GNOME HIG (Human Interface Guidelines) и способные адаптивно подстраиваться под экраны любого размера. На GTK 4 переведена программа для сканирования документов. В приложениях Console, Text Editor, Disk Usage Analyzer, Fonts, Tour и Web задействован новый стиль панели заголовков, в котором заголовок визуально отделён от содержимого тенью. Обновлён стиль оформления приложений Calendar, Maps, Files и Calculator. Изменён стиль отображения боковых панелей, которые теперь занимают всю ширину окна и автоматически подстраиваются под новый размер при изменении ширины окна.
В файловом менеджере Nautilus (GNOME Files) модернизированы средства для поиска: значительно ускорен вывод результатов поиска, улучшена сортировка результатов и добавлены кнопки для расширения области поиска.
Добавлено новое окно для настройки столбцов, показываемых в режиме просмотра списка файлов. Ускорена генерация миниатюр. В режиме показа пиктограмм обеспечена индикация помеченных звёздочкой файлов.
В конфигураторе предоставлена возможность настройки формата отображения даты и времени в панели. Все настройки в разделах "Конфиденциальность" и "Совместный доступ" снабжены примечаниями с описанием сути. Подсказки также добавлены в настройки администратора и автоматического входа. Улучшена навигация по настройкам с использованием клавиатуры. Обновлено оформление многих панелей. Добавлен новый интерфейс для отображения раскладки клавиатуры.
В менеджере приложений (GNOME Software) предоставлена опция для удаления сопутствующих данных после удаления пакета в формате Flatpak. Интерфейс адаптирован для отображения небольшого числа доступных приложений. Реализована блокировка загрузки и установки обновлений, в случае выполнения игровых приложений.
В календаре-планировщике добавлены новые клавиатурные комбинации:
F5 для синхронизации календарей, F8 для открытия меню календарей и Ctrl+Alt+M для управления календарями. Увеличен диапазон дат, которые охватывает поиск событий. Проведена оптимизация производительности.
В GNOME Maps добавлена кнопка, показывающая направление и позволяющая повернуть карту для ориентации на север. В поисковой панели реализована поддержка поиска ближайших достопримечательностей. Кнопка масштабирования перемещена из заголовка на карту.
В приложении Connections (клиент для удалённого подключения к рабочему столу с использованием протоколов VNC и RDP) при подключении через RDP добавлена поддержка копирования текста, изображений и файлов между локальным и удалённым компьютером.
В эмуляторе терминала Console предложено новое окно с настройками, среди прочего позволяющее указать собственный шрифт и отключить звуковую индикацию.
В рамках инициативы GNOME Circle подготовлены новые
дополнительные приложения от сообщества:
Paper Clip - редактор метаданных в PDF-документах.
Forge Sparks - вывод уведомлений о событиях в Github, Gitea и Forgejo.
Impression - интерфейс для записи дисковых образов на внешние накопители.
В интегрированной среде разработки GNOME Builder предоставлена возможность использования языка JavaScript для разработки плагинов. Цветовая схема приведена в соответствие с современным стилевым оформлением GNOME.
Обновлены библиотеки GTK 4.12 и libadwaita 1.4. JavaScript-движок GJS обновлён до версии 1.76, основанной на движке SpiderMonkey 115. Обновлены привязки для разработки графических приложений на языке Rust с использованием библиотеки GTK.
Изменена организация загрузки модулей в дополнениях к GNOME Shell, что привело к нарушению обратной совместимости. Дополнения, разработанные для прошлых версий GNOME, не смогут работать в выпуске GNOME 45.