Объявлено о переводе интегрированной среды разработки Rune в разряд открытых проектов. Проект вдохновлён философией Unix и рассчитан на разработчиков, предпочитающих работать в терминале, но желающих получить современные инструменты работы с кодом без лишнего усложнения и визуального шума. Код написан на языке Go и открыт под лицензией GPLv3. Поддерживается работа в Linux и macOS.
Rune предлагает классический редактор кода, а также возможности для сопровождения разработки на разных языках программирования, отладки, структурированного поиска и применения AI-агентов, не привязанных к конкретным поставщикам. Рабочий процесс акцентирован на управлении при помощи клавиатуры. Все процессы разработки реализованы вокруг терминала и встроенного консольного оконного менеджера в стиле tmux.
Rune поддерживает применение нескольких рабочих пространств и обеспечивает минимальные задержки и высокую производительность, благодаря задействованию GPU для ускорения отрисовки. Поддерживается разбор синтаксиса, подсветка, навигация по конструкциям и средства для "умного" поиска кода для более 300 языков.
В качестве первичных языков для разработки заявлены Go, Python, Rust и TypeScript, для которых реализована более продвинутая поддержка семантики и отладки, а также обеспечена интеграция с дополнительными инструментами для интерактивного выполнения (REPL), анализа кода и управления зависимостями.
В форме дополнения поставляется собственный AI-агент Rune Agent, работающий локально и позволяющий генерировать код при работе над проектами. Помимо этого возможно использование и внешних консольных агентов, таких как Claude Code, Pi и OpenCode. Поддерживается запуск разных AI-агентов в разных вкладках, разделение окон на части, перегруппировка окон, переключение между рабочими пространствами, привязка произвольных консольных утилит к горячим клавишам.
После шести месяцев разработки опубликован релиз многоплатформенного тулкита для создания графического интерфейса пользователя - GTK 4.24. GTK 4 развивается в рамках процесса разработки, который пытается предоставить разработчикам приложений стабильный и поддерживаемый в течение нескольких лет API, который можно использовать не опасаясь, что каждые полгода придётся переделывать приложения из-за изменения API в очередной ветке GTK.
Добавлена возможность привязки (snapping) содержимого к границам физических пикселей устройства, что значительно улучшило качество отрисовки при использовании дробного масштабирования на экранах с высокой плотностью пикселей (HiDPI). Для включения выравнивания размещения логических пикселей по границам физических пикселей преложена функция gtk_snapshot_set_snap().
По умолчанию новый режим не включён из-за появлении дрожания при медленной анимации и прокрутке, обусловленного отрисовкой в привязке к целым пикселями. Из областей применения снапинга отмечается скрытие видимых швов между спрайтами в некоторых играх на экранах с дробным масштабированием, более чёткое отображение изображений из-за попадания пиксель-в-пиксель и задействование методов аппаратного ускорения графики, требующих строгого выравнивания контента по пикселям.
Продолжено развитие встроенного движка отрисовки и разбора изображений в формате SVG, а также класса Gtk.Svg, позволяющего обойтись без внешних зависимостей при отрисовке векторных пиктограмм и ресурсов. В новой версии добавлен класс GtkSvgWidget, позволяющий отрисовывать изображения в формате SVG с интерактивными элементами, такими как <a> и <view>, непосредственно в приложении. Добавлена функция gtk_svg_set_stylesheet() для применения стилей к SVG-элементам.
Для оторисовки всех пиктограмм в GTK применён класс
GtkSvg. В виджете GtkSpinner задействованы анимированные SVG-изображения. Добавлены новые возможности, такие как фильтры feTurbulence, свойства текста dominant-baseline, baseline-shift, text-decoration, медиа-запросы в CSS и 3D-трансформации.
В GSK (GTK Scene Kit) добавлена поддержка отрисовки форматов изображений с 10-битным представлением цветовых каналов. Переработан механизм выделения памяти под кэш. Для исключения отрисовки за пределами видимой области задействованы маски отсечения (clip mask).
В виджетах GtkSpinner, GtkStack и GtkRevealer обеспечен учёт системных настроек для сокращения анимированных эффектов.
В бэкенде для работы в Wayland-окружениях реализована поддержка Wayland-протокола Text Input 3.2, стандартизирующего взаимодействие между композитным сервером и приложениями при передаче вводимого текста, обработке событий об изменении фокуса ввода и учёте специфики полей ввода (язык, выделение текста, тип контента).
Реализована возможность сохранения и восстановления сеансов, используя Wayland-протокол xdg-session-management, который предоставляет возможности для восстановления состояния и позиции окон прерванного сеанса, например, после аварийного завершения композитного сервера или приложения. В финальном релизе GTK 4.24 данная функциональность отключена и запланирована для активации в GTK 4.26.
В бэкенде для платформы Android реализована поддержка Android SDK 36 (Android 16). Для синхронизации кадров с вертикальной разверткой (vsync) задействован API Choreographer.
Добавлены функции gdk_display_get_prefer_vulkan() и gdk_display_set_prefer_vulkan() для управления включением в графическом бэкенде отрисовки интерфейса через API Vulkan.
Добавлена функция gtk_editable_set_input_interceptor() для перехвата ввода. Функция gtk_event_controller_key_forward() переведена в число устаревших.
Для класса GtkShortcutTrigger предложены функции
gtk_alternative_trigger_newv,
gtk_shortcut_trigger_create_with_aliases и
gtk_shortcut_trigger_create_for_menu для обработки клавиатурных комбинаций с учётом продублированных клавиш (например, с цифрового блока клавиатуры).
В виджете GtkEntry реализовано открытие меню
при долгом касании на сенсорном экране.
Переработан механизм поиска по мере ввода (type-to-search), который переведён с модели опроса приложением ("pull") на модель передачи событий ("push").
Добавлен класс GtkEnumList для вывода выпадающих списков.
Исправлены проблемы с выделением памяти в GtkList, GtkGrid и GtkColumnView.
Добавлена поддержка CSS-свойства font-width для указания промежуточной ширины шрифта в процентах.
Повышены требования к выпуску библиотеки Pango (необходим как минимум выпуск 1.58).
Опубликован релиз проекта OpenRGB 1.0, развивающего инструментарий для управления RGB-подсветкой компонентов ПК и периферийных устройств. Код написан на C/C++ и распространяется под лицензией GPLv2. Готовые сборки в ближайшие часы будут сформированы для Linux (deb, rpm, appimage, flatpak), macOS и Windows. При обновлении необходимо пересоздать профили и установить заново плагины.
Основные возможности OpenRGB:
Задание цвета и режима подсветки для различного RGB-оборудования.
Сохранение и загрузка профилей.
Управление подсветкой из стороннего ПО, через OpenRGB SDK.
Интерфейс командной строки (CLI).
Объединение подсветки нескольких ПК через локальную сеть.
Работа в формате "клиент-сервер" или как отдельное приложение (без сервера).
Просмотр информации об устройстве.
Самодостаточность с возможностью работы без ПО от производителя оборудования.
Графический предпросмотр при создании собственных шаблонов подсветки.
Проект сфокусирован на предоставлении унифицированного доступа к аппаратным возможностям контроллеров подсветки, будь то встроенные эффекты или прямое управление цветом. Функциональность пользовательских эффектов, не встроенных в контроллер, таких как визуализация звука, цветовое отображение температуры, AmbiLight, смена подсветки при переключении окон или просто красивое переливание как в лавовой лампе - вынесена в плагины. Дополнительные возможности по кастомизации подсветки предоставляет внешний API (сетевой SDK), позволяющий передавать команды на изменение подсветки из любой сторонней программы или скрипта.
Среди прочего, пакет поддерживает материнские платы ASUS, Gigabyte, ASRock и MSI с RGB-подсистемой для подсветки корпуса, модули памяти с подсветкой (ASUS, Patriot, Corsair, HyperX и т.п.), графические карты (например, ASUS Aura/ROG, MSI GeForce, Sapphire Nitro, Gigabyte Aorus) и различные контроллеры светодиодных лент (ThermalTake, Corsair, NZXT Hue+), светящиеся кулеры, мыши, клавиатуры, наушники и аксессуары Razer с подсветкой. В списке поддерживаемых устройств часть контроллеров может быть подписана названиями, не совпадающими с торговыми (оперативная память Asus Aura и некоторых других производителей в списке подписана как ENE DRAM).
Начиная с выпуска 1.0, проект перешёл на новую систему нумерации релизов, позволяющую выпускать их намного чаще (с последнего "стабильного" релиза 0.9 прошло 3 года, и в связи с исчерпанием нумерации в старой системе и неготовности к выпуску 1.0, дальнейшие стабильные релизы выходили под RC-номерами, несмотря на то, что релиз-кандидатами они не являлись).
Некоторые из заметных изменений в OpenRGB 1.0:
Библиотека WinRing0 заменена на Pawnio, в связи с тем что Windows стала помечать её как небезопасную (ранее в версии 0.8 пакет inpout32 по той же причине был заменён на WinRing0). Pawnio не входит в установщик пакета и его нужно установить вручную, в ходе установки об этом будет выдано предупреждение (без Pawnio не работают устройства SMBus, в первую очередь это касается оперативной памяти и многих видеокарт). На данный момент Pawnio считается наиболее безопасной альтернативой, доступной на Windows.
Для корректной работы с Pawnio, требующей прав администратора, был переработан режим работы в виде системного демона. При установке программы в такой форме, программа может выполнить сканирование устройств и применить профили прямо во время загрузки ОС, не дожидаясь входа пользователя в систему.
Официально добавлена поддержка горячего подключения HID-устройств. При подключении и отключении мыши или клавиатуры больше не нужно выполнять полное повторное сканирование. Библиотека hidapi для этого была заменена на собственный форк под названием hidapi-hotplug, содержащий функциональность, которая ещё не вошла в официальные сборки hidapi (готовится к включению в релиз 0.16). При необходимости OpenRGB собирается с обычным hidapi, но без горячего подключения.
Формат профилей был переведён на JSON. Добавлена поддержка сохранения в профили информации от плагинов.
Добавлены "универсальные" детекторы для некоторых контроллеров, таких как Logitech HID++2.0, которые не используют жёстко прописанный список для обнаружения и загружают поддерживаемые режимы прямо из устройства. Универсальные детекторы позволяют поддерживать ещё не выпущенные устройства, пока производитель не меняет протокол.
Добавлена поддержка отключённых по умолчанию детекторов, что может оказаться полезным в случаях, когда поддержка устройства может при вести к проблемам, как было с материнскими платами MSI Mystic Light.
Проведён рефакторинг ядра проекта, с существенной оптимизацией запуска и сканирования устройств.
Упрощено добавление устройств вручную (Nanoleaf, LIFX, Elgato, умные лампы от Philips или устройства последовательного порта) и управление списком устройств.
За три года c момента релиза 0.9 добавлена поддержка тысяч новых устройств. В данный момент заявлена поддержка 2551 устройства.
Протокол SDK существенно переработан для поддержки динамического изменения списка устройств, поддержки синхронной работы (Request-ACK), передачи настроек между клиентом и сервером. Проведена работа над повышением отказоустойчивости сервера.
Устранены две уязвимости в сетевом протоколе. Первая уязвимость (CVE-2026-59682) позволяет перезаписать любой файл в системе через отправку фоновому процессу сообщения SAVE_PROFILE с символами "../" в пути к профилю. Вторая уязвимость (CVE-2026-59683), в случае запуска фонового процесса с правами root, даёт возможность поднять свои привилегии в системе или удалённо выполнить свой код с правами root из-за ошибки в обработчике сетевого протокола OpenRGB, позволявшей через отправку специально оформленных запросов UPDATEMODE и SAVE_PROFILE записать указанные атакующим данные в любой выбранный файл. Уязвимости выявлены в ходе аудита разработчиками дистрибутива openSUSE.
Опубликован выпуск проекта ESP-KVM, развивающего открытую прошивку, которая превращает отладочную плату на микроконтроллере ESP32-P4 в полноценный IP-KVM - устройство, дающее доступ к экрану, клавиатуре и мыши удалённого компьютера через браузер. В отличие от средств удалённого рабочего стола, на управляемой машине ничего не устанавливается и от её операционной системы ничего не требуется: устройство подключается к видеовыходу и USB-порту и работает, когда компьютер показывает интерфейс BIOS, грузится, стоит с пустым диском или выключен. Код написан на языке Си и распространяется под лицензией Apache 2.0.
Устройство собирается из двух небольших плат: платы с ESP32-P4 и платы захвата на чипе TC358743, которая переводит HDMI цели в MIPI-CSI. Дальше картинка кодируется аппаратными кодировщиками самого микроконтроллера - H.264 или MJPEG - и отдаётся в браузер. Клавиатура и мышь подаются целевой машине через USB OTG, то есть она видит обычные устройства ввода и никаких драйверов ей не нужно. На эталонной плате получено около 20-24 кадров в секунду при 1920x1080 и до 45 при 1280x720.
Из возможностей:
Чтение текстового экрана как текста, а не картинки: содержимое консоли BIOS, загрузчика или Linux-консоли распознаётся по знакогенератору и передаётся символами - экран занимает пару килобайт вместо мегабайт, а серийный номер или код ошибки можно выделить мышью и скопировать.
Наблюдение за экраном по заданным фразам с оповещением, когда за устройством никто не следит.
Управление питанием цели через оптопару (кнопки питания и сброса, чтение индикатора), Wake-on-LAN и пробуждение спящей машины по USB.
Встроенные WireGuard и Tailscale, включая работу с собственным управляющим сервером Headscale.
Интеграция с Home Assistant через MQTT: датчики, кнопки, сущность обновления прошивки и камера со снимком экрана цели.
HTTPS с сертификатом, который устройство выпускает само, вход по паролю и физический сброс пароля кнопкой на плате; можно загрузить и свой сертификат.
Обновление прошивки по сети с двумя слотами и автоматическим откатом, аварийный образ во внутренней флеш-памяти и точка доступа с порталом, если сети нет.
Небольшой статусный экран (I2C OLED или круглый GC9A01) с адресом, состоянием линка и температурой.
Виртуальные носители: образ диска с карты microSD отдаётся цели как загрузочный USB-накопитель, что позволяет установить систему на машину с пустым диском.
Прошивка собирается для десяти вариантов плат, среди которых Waveshare ESP32-P4-ETH, ESP32-P4-NANO и ESP32-P4-WIFI6, Espressif ESP32-P4 Function EV, Guition ESP32-P4-M3-Dev и M5Stack Unit PoE-P4. Сообществом создано несколько корпусов для самой популярной платы Waveshare ESP32-P4-ETH. Прошить плату можно прямо из браузера, без установки инструментов.
В выпуске 0.45.0 добавлена поддержка двух плат - Waveshare ESP32-P4-Module-DEV-KIT и DFRobot FireBeetle 2 ESP32-P4 - и опубликован разбор того, какие платы на ESP32-P4 для такой задачи не подходят и почему.
Опубликован выпуск RT-Thread 5.3, операционной системы реального времени (RTOS) для устройств интернета-вещей. Система развивается с 2006 года сообществом китайских разработчиков и в настоящее время портирована для 155 плат, чипов и микроконтроллеров на базе архитектур x86, ARM, MIPS, С-SKY, Xtensa, ARC и RISC-V. Минималистичная сборка RT-Thread (Nano) требует для работы всего 3 КБ Flash и 1.2 КБ ОЗУ. Для IoT-устройств, сильно не ограниченных в ресурсах, предлагается полнофункциональная версия, поддерживающая управление пакетами, конфигураторы, сетевой стек, пакеты с реализацией графического интерфейса, системы голосового управления, СУБД, сетевых сервисов и движков для выполнения скриптов. Код написан на языке Си и распространяется под лицензией Apache 2.0.
Операционную систему образуют три базовых слоя:
Ядро, обеспечивающее выполнение задач в режиме реального времени. Ядро предоставляет универсальные базовые примитивы, охватывающие такие области, как управление блокировками и синхронизацией данных, планирование задач, управление потоками, обработка сигналов, очереди сообщений, управление таймером, управление памятью. Специфичные для аппаратного обеспечения особенности реализованы на уровне libcpu и BSP, которые включают необходимые драйверы и код для поддержки CPU.
Компоненты и сервисы, работающие поверх ядра и предлагающие такие абстракции как виртуальная файловая система, система обработки исключений, хранилище в формате ключ/значение, интерфейс командной строки FinSH, сетевой стек (LwIP) и сетевые фреймворки, библиотеки для поддержки устройств, звуковая подсистема, беспроводной стек, компоненты для поддержки Wi-Fi, LoRa, Bluetooth, 2G/4G. Модульная архитектура позволяет подключать компоненты и сервисы в зависимости от своих задач и имеющихся аппаратных ресурсов.
Пакеты программ. Программные компоненты общего назначения и библиотеки функций распространяются и устанавливаются в форме пакетов. В настоящее время репозиторий включает более 450 пакетов, предлагающих от графических интерфейсов, мультимедийных приложений и сетевых приложений до систем управления роботами и обработчиков на базе машинного обучения. В пакетах также поставляются движки для организации выполнения программ на языках Lua, JerryScript, MicroPython, PikaScript и Rust (rtt_rust).
Особенности платформы:
Поддержка архитектур:
ARM Cortex-M0/M0+/M3/M4/M7/M23/M33
(поддерживаются микроконтроллеры таких производителей, как ST, Winner Micro, MindMotion, Realtek, Infineon, GigaDevic, Nordic, Nuvoton, NXP).
Расширяемая модульная архитектура, позволяющая сформировать окружение, подходящее для систем с ограниченными ресурсами (минимальные требования - 3 КБ Flash и 1.2 КБ ОЗУ).
Поддержка различных стандартных интерфейсов для разработки программ, таких как POSIX, CMSIS, C++ API. Отдельно развивается прослойка RTduino для совместимости с API и библиотеками проекта Arduino.
Возможность расширения через систему пакетов и подключаемых компонентов.
Поддержка разработки приложения для высокопроизводительной обработки информации.
Гибкая система управления питанием, позволяющая автоматически переводить устройство в режим сна и динамически управлять напряжением и частотой в зависимости от нагрузки.
Поддержка аппаратных средств для шифрования и расшифровки, предоставление библиотек с различными криптографическими алгоритмами.
Унифицированный интерфейс для доступа к периферийным устройствам и дополнительному оборудованию.
Виртуальная ФС и наличие драйверов для таких ФС, как FAT, UFFS, NFSv3, ROMFS и RAMFS.
Стек протоколов для TCP/IP, Ethernet, Wi-Fi, Bluetooth, NB-IoT, 2G/3G/4G, HTTP, MQTT, LwM2M и т.п.
Система удалённой доставки и установки обновлений, поддерживающая шифрование и верификацию по цифровой подписи, возобновление прерванной
установки, восстановление после сбоя, откат изменений и т.п.
Система динамически загружаемых модулей ядра, позволяющая отдельно собирать и разрабатывать компоненты ядра, и динамически загружать их при появлении необходимости.
Поддержка различных сторонних пакетов, например, Yaffs2, SQLite, FreeModbus, Canopen и т.п.
Возможность прямой компиляции BSP-пакета (Board Support Package) с компонентами для поддержки определённой аппаратной платформы, и его загрузки на плату.
Наличие эмулятора (BSP qemu-vexpress-a9), позволяющего разрабатывать приложения без использования реальных плат.
Поддержка типовых компиляторов и инструментов для разработки, таких как GCC, MDK Keil и IAR.
Развитие собственной интегрированной среды разработки RT-Thread Studio IDE, позволяющей создавать и отлаживать приложения, загружать их на платы, управлять настройками. Плагины для разработки программ для RT-Thread также доступны для Eclipse и VS Code.
Наличие консольного интерфейса Env, упрощающего создание проектов и настройку окружения.
Среди изменений в новом выпуске:
Расширена поддержка разработки компонентов на языке Rust. Добавлены Rust-обвязки для потоков, мьютексов, семафоров, очередей сообщений, а также операций с памятью, временем и файлами. Реализованы компоненты для интеграции с SCons и Cargo. Обеспечено автоматическое определение целевых платформ ARM, AArch64 и RISC-V. Добавлены процедурные макросы для инициализации и регистрации команд.
Для микроконтроллеров Cortex-M включена поддержка стандарта Open Firmware
c описанием периферии через Device Tree.
Добавлена поддержка VirtIO 1.2 с возможностью использования очередей пакетов, транспортов MMIO/PCI и синхронизации DMA. Добавлены VirtIO-драйверы 9P, crypto, RNG, SCMI и SCSI. Обновлены VirtIO-драйверы для сети, блочных устройств, консоли, устройств ввода и GPU.
Добавлен фреймворк DVFS (Dynamic Voltage and Frequency Scaling) для динамического управления частотой CPU и устройств. Обеспечена интеграция с прошивкой ARM SCMI для управления энергопотреблением. Улучшено управление кулерами.
Добавлена поддержка TEE-окружений (Trusted Execution Environment) и механизма обмена сообщениями RPMSG (Remote Processor Messaging).
Реализована поддержка Unix-сокетов.
Добавлена поддержка механизмов защиты беспроводных сетей WPA3, EA (Enterprise Authentication), WAPI, OWE и DPP.
Добавлена поддержка протокола синхронизации времени PTP (Precision Time Protocol).
Добавлен фреймворк Clock Time для работы со временем, поддерживающий высокоточные таймеры и синхронизацию времени по нескольким источникам. Новый фреймворк пришёл на смену ранее используемым компонентам ktime, cputime и hwtimer,
Реализована файловая система 9PFS, применяемая для обмен файлами между хост-окружением и виртуальными машинами.
В реализации легковесных процессов lwP (Lightweight Process) появилась поддержка архитектуры ARM и добавлена поддержка механизма vDSO (virtual dynamic shared object), позволяющего перенести обработчики из ядра в пространство пользователя и избежать переключений контекста.
В ядре реализована поддержка 8- и 16-разрядных атомарных операций.
Добавлена поддержка симметричной мультипроцессорности (SMP) для RISC-V процессоров серии XuanTie C/R и эмулятора QEMU virt64.
Обновлён USB-стек CherryUSB 1.6.1.
Добавлены новые DM-драйверы (Device Manager) для UFS, AHCI, NVMe, Ethernet, Intel HDA, джойстиков и сенсорных экранов.
Начата модернизация кодовой базы для будущего перехода на GTK4.
Для KDE реализовано декорирование окон на стороне сервера (кнопки показываются не в заголовке, а под ним) вместо декорирования на стороне клиента в стиле GNOME. Устранено появление артефактов при использовании темы KDE Breeze.
Добавлена возможность вырезания выделенной области сразу из всех растеризованных и разблокированных слоёв группы.
В инструменте "Пипетка" учтено применение фильтров к отдельным слоям при определении цвета всех видимых слоёв.
Ускорена загрузка шрифтов, что сократило время запуска GIMP и уменьшило задержки в инструментах для работы с текстом.
Ограничена максимальная ширина всплывающих подсказок, чтобы длинные описания растягивались на весь экран.
В инструменты "Динамика рисования" и "Кисти MyPaint" добавлен параметр "Вращение", при котором графический редактор реагирует на поворот цифрового пера в руке (поддерживается в Wacom Art Pen и Wacom Art Pen 2).
В сборках для Windows и macOS решена проблема с некорректным отображением вторичных всплывающих окон, таких как окно с редактором метаданных, поверх основных диалогов. В теме оформления задействованы акцентные цвета, заданные в настройках ОС. Улучшены выставление фокуса ввода и работа многооконного режима.
Обеспечена публикация готового dmg-пакета для macOS.
Устранено 28 уязвимостей, большинство из которых потенциально могут привести к выполнению кода при открытии специально оформленных файлов.
Опубликованы корректирующие выпуски платформы совместной разработки Forgejo16.0.4 и 15.0.8, в которых устранена критическая уязвимость (CVE-2026-89094), позволяющая удалённому атакующему добиться выполнения своего кода на сервере. Администраторам серверов Forgejo рекомендовано срочно обновить свои системы и убедиться в отсутствии следов компрометации. Уязвимость вызвана отсутствием должной чистки при создании нового репозитория из шаблона.
Для предотвращения подстановки своих команд при обработке переданного пользователем шаблона, платформа удаляет из него подкаталог .git/ перед инициализацией нового git-репозитория на сервере. Атакующий мог обойти данное удаление и добиться создания подкаталога .git/ со своим содержимым через манипуляцию с подстановкой переменных в файлы, размещённые в директории .forgejo/template (например, через подстановку "../../.git/hooks" в файловый путь). При последующей инициализации git-репозитория Git применял настройки из подкаталога .git/, которые могли включать операции, запускающие произвольные процессы. Проблема решена через удаление подкаталога .git/ не перед раскрытием переменных, а непосредственно перед запуском "git init".
COSMIC развивается как универсальный проект, не привязанный к конкретному дистрибутиву и соответствующий спецификациям Freedesktop.
Для построения интерфейса в COSMIC задействована библиотека Iced, которая использует безопасные типы, модульную архитектуру и модель реактивного программирования, а также предлагает архитектуру, привычную для разработчиков, знакомых с языком декларативного построения интерфейсов Elm. Предоставляется несколько движков отрисовки, поддерживающих Vulkan, Metal, DX12, OpenGL 2.1+ и OpenGL ES 2.0+. Разработчикам предлагается готовый набор виджетов, возможность создавать асинхронные обработчики и использовать адаптивную компоновку элементов интерфейса в зависимости от размера окна и экрана.
Помимо использования языка Rust из особенностей COSMIC выделяются режимы гибридной мозаичной компоновки окон и стекового закрепления окон (группировка окон по аналогии со вкладками в браузере), которые могут включаться в привязке к виртуальным рабочим столам. Проектом также разрабатывается композитный сервер cosmic-comp на базе Wayland.
Среди изменений:
В композитном менеджере cosmic-comp значительно улучшена поддержка сенсорных экранов.
В композитном менеджере cosmic-comp реализована возможность запуска окон X11-приложений в минимизированном виде. Добавлена поддержка настройки применяемого по умолчанию режима декорирования окон на стороне сервера. Решена проблема с аварийным завершением при создании скриншота. Улучшена поддержка гибридных конфигураций c интегрированным GPU и дискретной видеокартой. Налажено выборочное скругление углов в темах оформления.
Обновлена библиотека Smithay, что привело к улучшению поддержки захвата указателя мыши.
В апплете управления Bluetooth и конфигураторе предоставлена возможность назначения Bluetooth-устройствам произвольных имён.
В библиотеке приложений (cosmic-app-library) обеспечено выравнивание по центру имён программ, показываемых под пиктограммами.
В файловом менеджере включено автоматическое переключение на другую вкладку при закрытии активной вкладки.
Налажена поддержка двухфакторной аутентификации в экране входа в систему.
Ведётся разработка экранной клавиатуры, которая пока не включена в состав релизов COSMIC. В экранной клавиатуре добавлен индикатор переключения раскладок клавиатуры и реализована обработка внешнего переключения раскладок (например, комбинацией клавиш на физической клавиатуре).
Опубликован релиз Automake 1.19, утилиты для автоматической генерации make-файлов, соответствующих стандартам кодирования проекта GNU.
В новой версии помимо исправления ошибок добавлен autoconf-макрос AM_OPTIONAL_AUTOMAKE, делающий необязательной обработку указанных опций "dist-XXX" при выполнении команды "make dist". На практике, новый макрос даёт возможность пропускать создание архивов без вывода ошибки, если в системе отсутствуют необходимые утилиты сжатия. Например, операция "make dist" не будет прервана, если в настройках указаны dist-zip, dist-xz и dist-zstd, но не удалось найти утилиты zip, xz и zstd.
Сформировано обновление дистрибутива Ubuntu 24.04.5 LTS, в которое включены изменения, связанные с улучшением поддержки оборудования, обновлением ядра Linux и графического стека, исправлением ошибок в инсталляторе и загрузчике. В состав также включены актуальные обновления для нескольких сотен пакетов, связанные с устранением уязвимостей и проблем, влияющих на стабильность. Одновременно представлены аналогичные обновления Kubuntu 24.04.5 LTS, Ubuntu Budgie 24.04.5 LTS, Ubuntu MATE 24.04.5 LTS,
Lubuntu 24.04.5 LTS, Ubuntu Kylin 24.04.5 LTS, Ubuntu Studio 24.04.5 LTS, Xubuntu 24.04.5 LTS, Edubuntu 24.04.5 LTS, Ubuntu Cinnamon 24.04.5 LTS и Ubuntu Unity 24.04.5 LTS.
В состав выпуска включены некоторые улучшения, бэкпортированные из выпуска Ubuntu 26.04. Предложены пакеты с ядром Linux версии 7.0 (базовое ядро Ubuntu 24.04 - 6.8). Обновлены компоненты графического стека, включая Mesa 26.0.3. Добавлены свежие версии видеодрайверов для чипов Intel, AMD и NVIDIA.
В сборках для рабочего стола (Ubuntu Desktop) новые ядро и графический стек предложены по умолчанию. Для серверных систем (Ubuntu Server) новое ядро добавлено в качестве опции в инсталляторе. Использовать новые сборки имеет смысл только для новых установок - системы, установленные ранее, могут получить все присутствующие в Ubuntu 24.04.5 изменения через штатную систему установки обновлений.
Для отката Ubuntu Desktop на базовое ядро 6.8 следует выполнить команду:
Представлен релиз проекта Jellyfin 12.0, позволяющего развернуть на собственном сервере систему мультимедийного вещания для трансляции имеющегося контента на устройства пользователей. Проект основан в 2018 году как форк медиасервера Emby, продолживший развитие открытой кодовой базы после перехода Emby на проприетарную модель разработки. Код Jellyfin написан на языке C# с использованием платформы .NET и распространяется под лицензией GPLv2. Предоставляются клиентские программы для ПК, мобильных устройств телевизоров, телеприставок и игровых контроллеров, а также web-интерфейс для настройки медиасервера, организации online-вещания и управления мультимедийной коллекцией.
Поддерживается трансляция видео и звука; навигация по коллекции фильмов, фотографий, электронных книг и музыки; просмотр и запись телеэфира при наличии ТВ-тюнера; синхронный совместный просмотр контента несколькими пользователями (SyncPlay); автоматическое обнаружение, каталогизация и сортировка контента; загрузка дополнительной информации (например, обложки альбомов и сведения о музыкантах); функции родительского контроля. Возможно перекодирование форматов на лету c ускорением при помощи технологий Intel QSV, NVIDIA NVENC и AMD AMF или отдача видео в исходном формате, если клиент поддерживает необходимый кодек.
Для взаимодействия с фронтэндами применяется клиент-серверная модель на основе протокола HTTP. Поддерживается вещание с использованием протоколов HLS (HTTP Live Streaming), DLNA и Google Cast (для Chromecast). Возможно расширение функциональности через плагины.
Сервер может быть запущен в Linux, macOS и Windows. Для упрощения развёртывания предлагается преднастроенный образ Docker-контейнера.
Среди изменений в новой версии:
Изменение структуры БД и оптимизация для хранения плейлистов и коллекций (каждый элемент теперь хранится как отдельная строка в таблице). Разделён запуск ресурсоёмких работ по обслуживанию БД и операций сканирования библиотеки.
Проведена оптимизация работы web-интерфейса и устранено подвисание при открытии некоторых страниц.
В основной состав добавлены средства для работы с электронными книгами. Появилась возможность извлечения данных о книгах и комиксах из файлов OPF, ComicInfo и ComicBookInfo. Добавлены плагины для интеграции с OpenLibrary, GoogleBooks и ComicVine. В web-интерфейсе реализован отдельный раздел для навигации по авторам и коллекциям электронных книг.
Для сериалов реализована возможность выбора вариантов материала (режиссерская/театральная версия, качество 4K/1080p).
Добавлена возможность отдельной настройки источника рекомендаций и параметров субтитров для каждой библиотеки.
В клиентах для ПК и мобильных устройств задействован новый интерфейс Modern, а старый вариант переименован в Legacy.
Сервер переведен на .NET 10 (требуется пересборка плагинов). Библиотеки FFmpeg обновлены до ветки 8.1.
Батист Даруссен (Baptiste Daroussin), член FreeBSD Core Team и автор пакетного менеджера pkg, развивает новый системный менеджер для FreeBSD - rcd. Системный менеджер rcd вызывается init-процессом вместо /etc/rc, читает файлы конфигурации сервисов (/etc/rcd.d/*.ucl), строит дерево зависимостей и запускает сервисы по возможности параллельно друг с другом, после чего отслеживает работу сервисов и при необходимости их перезапускает.
Управление фоновым процессом и операции с сервисами может осуществляться через прямую передачу команд в UNIX-сокет или при помощи утилиты командной строки rctl. Unit-файлы с параметрами сервисов оформляются в формате UCL, который напоминает формат файлов конфигурации nginx и bind с элементами для упрощения автоматизированной обработки, заимствованными из JSON. Предоставляется возможность создания шаблонов типовых unit-файлов и написания встроенных обработчиков на языке Lua. Пример unit-файла для запуска nginx:
Вместо работы с PID-файлами отслеживание активности запущенных процессов осуществляется с использованием дескрипторов, возвращаемых системным вызовом pdfork(). Имеется поддержка активации сервисов только при обращении к сетевому сокету и возможность защиты важных сервисов от принудительного завершения в случае нехватки памяти в системе. Возможно обновление версии фонового процесса rcd на лету без потери состояния.
Для ограничения доступных сервису ресурсов применяется rctl, а для полной изоляции сервисов поддерживается их запуск в jail-окружениях. Возможна настройка доступа к управляющему UNIX-сокету в привязке к отдельным сервисам. Поддерживается переход в спящий режим.
Системный менеджер полностью обратно совместим с существующей системой последовательного запуска сервисов rc.d и может работать без изменения имеющихся rc.d-скриптов и файлов конфигурации. Достаточно установить rcd на работающую систему и после перезапуска всё продолжит функционировать как раньше, за исключением сокращения времени загрузки за счёт распаралелливания запуска сервисов. Подобная совместимость упростит миграцию систем на rcd и даст возможность постепенно переводить в формат unit-файлов имеющиеся rc.d-скрипты.
Для совместимости с rc.d поддерживается специальный тип unit-ов "legacy". Rcd сканирует содержимое /etc/rc.d/ и /usr/local/etc/rc.d/, разбирает заголовки PROVIDE/REQUIRE/BEFORE/KEYWORD в скриптах, читает настройки rc.conf и определяет состояние запуска скриптов, после чего обрабатывает каждый скрипт как виртуальный legacy unit. В случае использования команды rcctl для управления подобными виртуальными unit-ами, операции транслируются в старый формат, например, выполнение "rcctl reload sshd" приведёт к запуску "/etc/rc.d/sshd reload".
Компания NVIDIA опубликовала выпуск проприетарного драйвера NVIDIA 615.71.09 (первый стабильный выпуск новой ветки 615). Драйвер доступен для Linux (ARM64, x86_64), FreeBSD (x86_64) и Solaris (x86_64). NVIDIA 615.x стала четырнадцатой стабильной веткой после открытия компанией NVIDIA компонентов, работающих на уровне ядра. Исходные тексты модулей ядра nvidia.ko, nvidia-drm.ko (Direct Rendering Manager), nvidia-modeset.ko и nvidia-uvm.ko (Unified Video Memory) из новой ветки NVIDIA, а также используемые в них общие компоненты, не привязанные к операционной системе, размещены на GitHub. Прошивки и используемые в пространстве пользователя библиотеки, такие как стеки CUDA, OpenGL и Vulkan, остаются проприетарными.
Добавлена поддержка Vulkan-расширения VK_NV_low_latency2, позволившая реализовать в пакетах Proton и DXVK возможность применения механизма NVIDIA Reflex в играх на базе API Vulkan, использующих библиотеку NvLowLatencyVk.dll. NVIDIA Reflex позволяет снизить задержки при отрисовке графики в играх за счёт упреждающей отправки команд формирования нового кадра, до того как завершена отрисовка текущего кадра.
Реализована поддержка Vulkan-расширения VK_EXT_cluster_acceleration_structure, позволяющего значительно оптимизировать трассировку лучей в сценах с высокой детализацией.
Добавлена поддержка секционирования памяти, используя механизм cgroups.
В модуль ядра nvidia.ko добавлен NVreg-параметр RmDisableDisplayGlitchPerfLimit, допускающий снижение частоты видеопамяти до минимального уровня, игнорируя ограничения, введённые для защиты от появления артефактов. Предложенная настройка позволяет снизить энергопотребление в режиме простоя в некоторых конфигурациях с несколькими мониторами, ценой потенциального кратковременного появления артефактов на экране. Для активации можно использовать команду:
В NVreg по умолчанию включён параметр UseKernelSuspendNotifiers=1, обеспечивающий обработку модулем ядра nvidia.ko уведомлений о переходе спящий режим и возврате из него для самостоятельного управления сохранением/восстановлением содержимого видеопамяти.
Устранены проблемы с замедлением работы и нарушением вывода на GPU Blackwell, появлением ошибки Xid 109 при загрузке PRAGMATA на системах с Wayland, зависании при запуске и нажатии alt-tab, утечкой файловых дескрипторов при выгрузке библиотеки libGLX_nvidia.so.0 и невозможности выхода из спящего режима.
Дополнительно можно отметить объявление Дэйвом Эйрли (David Airlie), мэйнтейнером стека графических драйверов в ядре Linux, о реализацииподдержки в модуле ядра nouveau и Mesa-драйвере NVK рабочей станции NVIDIA DGX Spark на базе чипа NVIDIA GB10 Grace Blackwell (CPU+GPU), преподносимой как персональный суперкомпьютер для запуска автономных AI-агентов. Для достижения возможности загрузки и отображения информации при использовании драйвера nouveau потребовалось внести около 100 изменений, адаптировать драйвер для новых прошивок NVIDIA, переработать взаимодействие с дисплейным контроллером и решить проблемы с L2-кэшированием и использованием общей с CPU памяти (в NVIDIA GB10 нет отдельной видеопамяти).
Арнд Бергман (Arnd Bergmann), отвечающий за пакеты с ядром в SUSE, подготовил патчи, удаляющие из ядра около 55 тысяч строк кода, связанного с поддержкой устаревших платформ ARM, которые почти не используются и мешают сопровождению актуальных подсистем. К удалению намечены платформы sa1100, omap24xx, i.MX31, samv7, lpc18xx, riscpc, axxia, footbridge, старые платы pxa, orion, dove и mv78xx0, чипы без блока управления памятью (MMU) и микроконтроллеры stm32f4/f7/h7. Указанные платформы намечены для удаления в ядре 7.5, ожидаемом в первом квартале 2027 года, чтобы не проводить удаление в LTS-ядре и дать время пользователям заявить о продолжении использования каких-то систем для предотвращения их удаления.
Состоялся выпуск X11-сервера yserver 1.5.0, написанного с нуля на языке Rust и поддерживающего актуальные расширения протокола X11. Проект не ставит перед собой цель повторить все возможности Xorg Server и ограничивается только функциональностью, необходимой для запуска современных сред рабочего стола, оконных менеджеров, приложений и графических библиотек (GTK, Qt, SDL, GLFW). Из протестированных окружений отмечены MATE, Xfce, Cinnamon, Sonic и Enlightenment, а также оконные менеджеры, такие как icewm, FVWM3, openbox, i3 и wmaker. Код проекта распространяется под лицензией MIT. При разработке используются AI-инструменты Claude.
В yserver решено не поддерживать устаревшие и специфичные возможности, такие как обработка нескольких X11-экранов в одном сервере (многомониторный вывод поддерживается), отличные от TrueColor режимы цветности, непрямой рендеринг (indirect GLX), API драйверов DDX, старые методы работы со шрифтами и подключение клиентов с другим порядком следования байтов (трансляция между big-endian и little-endian).
Вывод графики организован через DRM/KMS и Vulkan-драйверы Mesa. Для управления сеансом и организации доступа к совместно используемым устройствам ввода и вывода используется библиотека libseat. Помимо обособленного X-сервера поставляется ynest - бэкенд для вложенного запуска, поддерживающий работу из Xwayland или другого X11-сервера.
Работа протестирована на системах в GPU AMD Ryzen 9 6900HX (Rembrandt, RDNA2, mesa-драйвер RADV), AMD RX580 (Polaris/GCN4, RADV), Intel i5-7200U (Kaby Lake, mesa-драйвер ANV), NVIDIA GTX 1050, Snapdragon X1 X1E80100 (Adreno X1, Turnip), Apple M1 MBA, M2 MBP, а также в системах виртуализации с virtio-gpu и виртуальным GPU Venus. Поддерживается работа в Linux и FreeBSD.
В новой версии:
Добавлена поддержка механизма reverse-PRIME, позволяющего использовать интегрированный GPU для рендеригна, а GPU дискретной видеокарты для вывода на экран в ситуации подключения внешних мониторов к портам дискретной видеокарты.
Добавлена поддержка передачи в Mesa данных о частоте обновления экрана через расширение GLX_OML_sync_control.
Реализована оптимизация для снижения задержек у клиентов с отключённой вертикальной синхронизацией (vsync-off).
Обеспечено извлечение имён производителей GLX из видеодрайвера для выбора соответствующей клиентской библиотеки GLX (например, Mesa или NVIDIA).
Реализована поддержка объектов синхронизации DRI3 1.4 с задействованием примитивов drm_syncob подсистемы ядра DRM (Direct Rendering Manager).
Добавлена поддержка алгоритма отслеживания изменений на экране для перерисовки не всего содержимого, а только изменившихся частей, применяемого в композитных серверах Wayland на базе библиотеки wlroots.
Предоставлена возможность отрисовки рамок окна на стороне X11-сервера.
Реализована сборка пакетов для архитектуры Aarch64, помимо x86_64.