home tags events about login

opennet honked 09 Nov 2025 11:00 +0100

Выпуск smolBSD 0.2, инструментария для создания быстозагружаемых микро-сборок NetBSD

Опубликован выпуск инструментария smolBSD, позволяющего создавать специализированные минималистичные сборки NetBSD, включающие только необходимый набор системных компонентов и быстрозагружаемое ядро netbsd-MICROVM. Одним из применений smolBSD является создание урезанных системных окружений (micro VM) для выполнения отдельных серверных приложений в виртуальных машинах. Размер создаваемого базового окружения около 10 МБ. Запуск сервиса в новой виртуальной машине при использовании подобных микро-VM осуществляется примерно за 10 микросекунд, т.е. сопоставимо со скоростью запуска контейнеров. Код распространяется под лицензией BSD. Проект развивается французским сообществом разработчиков NetBSD.

Для создания окружений применяется утилита mksmolnb, которая может запускаться в NetBSD, GNU/Linux и macOS. При сборке в NetBSD в формируемом системном образе применяется файловая система FFS, а при сборке в Linux и macOS - ext2. Проектом обеспечиваются воспроизводимые сборки, позволяющие убедиться, что распространяемые бинарные файлы собраны из предоставляемого исходного кода и не содержат скрытых изменений.

Проектом предоставляются примеры скриптов для запуска создаваемых окружений в QEMU и системе виртуализации Firecracker, реализующей концепцию microVM для достижения производительности на уровне обычных контейнеров при использовании аппаратной виртуализации на базе гипервизора KVM.

Изменения, подготовленные проектом для прямого запуска ядра менеджером виртуальных машин и оптимизации работы в виртуальных машинах, уже приняты в основной состав ядра NetBSD и будут доступны в выпуске NetBSD 11. До выхода релиза NetBSD 11 оптимизированные ядра отдельно публикуются проектом для архитектур x86_64 и i386.

Источник: https://www.opennet.ru/opennews/art.shtml?num=64207

opennet honked 09 Nov 2025 09:00 +0100

Релиз свободного игрового движка OpenMW 0.50

Представлен выпуск проекта OpenMW 0.50, развивающего свободную реализацию движка для ролевой игры в жанре фэнтези The Elder Scrolls 3: Morrowind. По сравнению с оригинальным движком в OpenMW реализован модернизированный интерфейс пользователя, улучшена графика, добавлен собственный редактор OpenMW-CS для создания новых игр и модов, задействован движок симуляции физических процессов Bullet, добавлена поддержка платформ macOS и Linux, улучшено поведение ботов.

Код проекта написан на С++ и распространяется под лицензией GPLv3. В интерфейсе редактора OpenMW-CS и лаунчера используется Qt, во внутриигровом интерфейсе применяется MyGUI. Для работы с устройствами ввода задействован SDL, а для вывода звука - OpenAL. Готовые сборки подготовлены для Linux (PPA, flatpak), Windows и macOS. Для запуска необходимо наличие файлов с игровыми ресурсами из оригинальной игры Morrowind или установка альтернативного набора ресурсов.

Среди изменений в новой версии:

  • Улучшено поведение ботов и модернизирована система поиска путей.
  • Реализовано сохранение настроек после завершения работы с окном изменения настроек, а не после выхода из игры.
  • Устранены некоторые расхождения геймплея с оригинальной игрой Morrowind, например, пересмотрены навыки при нахождении в тюрьме, а в судебной системе исключены повторные обвинения за одно и то же преступление.
  • Улучшена реализация скелетной анимации и решены проблемы при скиннинге, например, приводящие к смещению парусов на кораблях не в ту сторону.
  • Устранена рассогласованность расстановки объектов на карте местности при отрисовке при помощи OpenGL.
  • В системе скриптинга OpenMW-Lua реализована возможность модификации механики боя, например, изменения влияния брони на наносимый игроку урон. Добавлена поддержка изменения из скриптов настроек погоды и получения данных о местности. Предоставлена возможность чтения и изменения журнала игрока. Добавлена поддержка создания собственных NPC-персонажей без использования плагинов.
  • Для 3D‑звука включён эффект Доплера, делающий более реалистичными звуки движущихся объектов.
  • Переработан интерфейс для геймпадов. Появилась возможность использования кнопок геймпада для навигации по игровому интерфейсу и полного управления игровым процессом с помощью геймпада без эмуляции мыши.
  • В редакторе контента переделаны маркеры выбора элементов.
  • Продолжена работа над поддержкой игр на более свежих версиях движка Bethesda, таких как Oblivion (2006), Skyrim, Fallout 3, Fallout: New Vegas и Fallout 4. Переработана код для текстурирования местности. Добавлена поддержка отображения отдалённых объектов, включая деревья, с использованием функции постраничной загрузки.


Источник: https://www.opennet.ru/opennews/art.shtml?num=64206

opennet honked 09 Nov 2025 08:00 +0100

Выпуск композитного сервера Hyprland 0.52 и GUI-библиотеки Hyprtoolkit 0.2

Доступен композитный сервер Hyprland 0.52, использующий протокол Wayland. Проект ориентирован на мозаичную (tiling) компоновку окон, но поддерживает и классическое произвольное размещение окон, группировку окон в форме вкладок, псевдомозаичный режим и полноэкранное раскрытие окон. Код написан на языке С++ и распространяется под лицензией BSD.

Предоставляются возможности для создания визуально привлекательных интерфейсов: градиенты в обрамлении окон, размытие фона, анимационные эффекты и тени. Для расширения функциональности могут подключаться плагины, а для внешнего управления работой предоставляется IPC на базе сокетов. Настройка осуществляется через файл конфигурации, изменения в котором подхватываются на лету без перезапуска. Из функций также выделяются: динамически создаваемые виртуальные рабочие столы; режимы компоновки элементов на экране; глобальная обработка горячих клавиш; управление жестами на тачпаде/сенсорном экране.

В новой версии:

  • Добавлена поддержка автоматической деактивации submap (набора сопоставлений событий ввода с действиями в окне) после выполнения привязки клавиш (keybind).
  • Предложена IPC-команда "/dispatch forceidle", позволяющая принудительно установить состояние неактивности (idle) пользователя на определённое число секунд через сбрасывание всех таймеров ext-idle-notify.
  • Добавлена IPC-команда "/dispatch fullscreen x y [set|unset|toggle]" для активации и отмены полноэкранного режима.
  • Добавлены настройки для работы с мониторами, поддерживающими цветовые пространства DCIP3, dp3 (Apple P3) и Adobe.
  • Добавлена возможность выставления режима поворота планшета (меняет координаты X и Y при смене ориентации) для каждого устройства ввода, поддерживающего подобную возможность.
  • В layer rule (настройки, привязанные к определённому слою размещения окон) добавлена опция "noscreenshare" для запрета показа слоя при предоставлении совместного доступа к экрану.
  • Добавлена настройка "cursor:zoom_disable_aa" для управления отображением курсора (пикселизация или размытие) при увеличении масштаба.
  • В правила, определяющие поведение окон (windowrules), добавлено свойство "modal" для создания модальных окон, блокирующих работу с другими окнами приложения.

Дополнительно можно отметить первые выпуски инструментария Hyprtoolkit, развиваемого разработчиками Hyprland для создания графических интерфейсов на языке C++, нативно поддерживающих Wayland. Из особенностей Hyprtoolkit заявлен простой C++ API для создания графических приложений, встроенная поддержка анимационных эффектов, завязка на Wayland и упрощённая система тем оформления.



Источник: https://www.opennet.ru/opennews/art.shtml?num=64205

opennet honked 08 Nov 2025 14:00 +0100

Проект Linux Containers представил атомарно обновляемый дистрибутив IncusOS

Стефан Грабе (Stéphane Graber), лидер проекта Linux Containers, один из создателей инструментария LXC, член управляющего технического совета Ubuntu и участник команд, отвечающих за выпуск релизов Ubuntu, представил новый Linux-дистрибутив IncusOS. IncusOS предоставляет атомарно обновляемый системный образ для создания серверов, централизованное управление которыми осуществляется при помощи инструментария Incus (форк LXD). Дистрибутив развивается под эгидой проекта Linux Containers, отвечающего за разработку инструментариев LXC и Incus. Наработки проекта написаны на языке Go и распространяются под лицензией Apache 2.0.

Системные образы поставляются для архитектур x86_64 и ARM64, и базируются на урезанном окружении Debian 13 и ядре Linux из репозитория Zabbly, формирующего пакеты с "ванильными" версиями ядра для Debian и Ubuntu, дополненные патчами и изменениями настроек для оптимизации запуска контейнеров в окружении на базе инструментария Incus. В качестве файловой системы используется ZFS.

Сборки формируются при помощи инструментария mkosi, созданного Леннартом Поттерингом. Базовое системное окружение подключается в режиме только для чтения. Для установки дополнительных приложений применяется утилита systemd-sysext, позволяющая распространять приложения в форме образов расширения системы (System Extension), содержимое которых накладывается на иерархию /usr/ при помощи OverlayFS. Поддерживается резервное копирование и восстановление настроек основной системы и данных отдельных приложений, а также сброс настроек в исходное состояние (Factory reset) для всей ОС или выбранных приложений.

Для обновления системы применяется компонент systemd-sysupdate, использующий механизм атомарной замены разделов - присутствует два независимых раздела, на одном из которых находится рабочая система, а в другой устанавливается очередное обновление, после чего разделы меняются местами. Для обеспечения целостности загрузочного окружения применяется загрузка с использованием UEFI Secure Boot и полнодисковое шифрование (LUKS) с хранением информации для расшифровки ключей в TPM 2.0 (Trusted Platform Module).

Начинка системного окружения урезана до минимума и содержит только компоненты, необходимые для запуска Incus. В окружении отсутствует командная оболочка и традиционные возможности для управления из командной строки или удалённого подключения по SSH. Вместо этого все операции управления и настройки производятся только через REST API системы Incus c аутентификацией по клиентскому TLS-сертификату или через OIDC (OpenID Connect). Управление всеми серверами осуществляется централизовано через web-интерфейс Operations Center или CLI-интерфейс Incus. Для переноса контейнеров и виртуальных машин из других систем, таких как VMware vCenter, предоставляется Migration Manager.

Для получения загрузочного образа применяется online-генератор, позволяющий подготовить образ на основе указанных параметров и задать seed-архив с настройками, такими как TLS-сертификат для клиентского доступа, идентификатор блочного устройства для установки и настройки сети (по умолчанию сеть конфигурируется через DHCPv4 или SLAAC (Stateless Address Autoconfiguration)). Интерактивный режиме установки не поддерживается - все параметры для установки и начальной настройки определяются через встроенный блок конфигурации, передаваемый при первой загрузке. Поддерживается установка образа IncusOS как поверх оборудования, так и в виртуальных машинах под управлением платформ libvirt, Incus, Proxmox, VirtualBox и VMware.

Возможности, связанные с хранилищем:

  • автоматическое развёртывание локального пула ZFS;
  • создание сложных пулов ZFS на дополнительных дисках;
  • поддержка NVME-over-TCP, iSCSI, Fiber Channel и Multipath;
  • возможность создания кластерных конфигураций LVM поверх Fiber Channel, NVME-over-TCP или iSCSI;
  • возможность создания программных хранилищ на базе распределённой ФС Ceph.

Сетевые возможности:

  • автоматическая поддержка VLAN при работе в режиме сетевого моста, упрощающая подключение виртуальных машин к любым сетевым интерфейсам;
  • поддержка агрегирования каналов связи;
  • поддержка LLDP (Link Layer Discovery Protocol);
  • поддержка корпоративных прокси (включая аутентификацию через Kerberos);
  • поддержка NTP (Network Time Protocol);
  • возможность сохранения логов на внешнем сервере через syslog;
  • поддержка OVS/OVN для программного определяемых сетей OVS (Open vSwitch) и OVN (Open Virtual Network);
  • встроенная поддержка VPN-сети Tailscale (в планах поддержка Netbird).


<iframe src="https://www.youtube.com/embed/Is_HgmwayGs?si=iw51u68HfYOcwxQD">

Источник: https://www.opennet.ru/opennews/art.shtml?num=64203

opennet honked 08 Nov 2025 10:00 +0100

В KDE на 100 МБ снижено потребление памяти. Выпуск Plasma Mobile 25.11

Нейт Грэм (Nate Graham), разработчик, занимающийся контролем качества в проекте KDE, опубликовал очередной отчёт о разработке KDE. Наиболее заметные изменения, развиваемые для выпуска KDE Plasma 6.6, запланированного на 12 февраля:
  • Внесены оптимизиции, позволившие снизить потребление оперативной памяти в KDE Plasma более чем на 100 МБ за счёт выгрузки из памяти неиспользуемых изображений, формируемых для показа обоев рабочего стола. Ценой оптимизации стала невозможность использования мозаичного режима (tiled) отображения обоев, применяемых для воссоздания ретро-оформления в стиле KDE 1. Функциональность для работы с подобными обоями вынесена из основного кода работы с изображениями в отдельный плагин "Tiled".
  • Реализована настройка "KWin Scripts -> Enable Virtual Desktops Only on Primary", допускающая привязку окон к виртуальным рабочим столам только на первичном экране - на вторичных дисплеях окна всегда остаются видимыми, независимо от активного виртуального рабочего стола.
  • В виджет управления сетевым соединением добавлена кнопка для подключения к сети с получением параметров Wi-Fi через сканирование QR-кода.
  • В конфигураторе на странице с настройками подключения к удалённым рабочим столам в основном интерфейсе обеспечено отображение предупреждении о возникновении ошибок, без необходимости открытия лога в случае сбоев.
  • В DrKonqi, утилите для отправки отчётов о сбоях, реализован учёт аварийных завершений приложений, не связанных с KDE, а также возможность отправки отчётов о сбоях в подобных программах разработчикам или сопровождающим в дистрибутиве.
  • При использовании "пипетки" (color picker) для определения цвета пикселя на экране теперь передаётся исходное RGB-значение цвета, а не значение после обработки фильтрами (например, фильтра для ночного режима) или использования профиля ICC.
  • При отображении GTK-приложений с использованием темы оформления Breeze реализованы дополнительные отступы для панелей инструментов (крайние элементы панелей касались краёв окна) и исключено появление неэстетичных чёрных линий-разделителей.
  • Обеспечена обработка активных углов (Hot-corner) для вызова действий на всех экранах в многомониторных конфиграциях, а не только на первом экране. При желании новое поведение можно отключить в настройках.
  • В виджет калибровки HDR добавлена страница для определения максимальной усреднённой яркости при отображении в полноэкранном режиме.
  • Улучшена работа операций drag-and-drop между окнами приложений на базе Wayland и XWayland.
  • Устранено подвисание интерфейса включения/выключения Bluetooth.

В кодовой базе, на основе которой будет сформирован выпуск KDE Plasma 6.5.3, устранена ошибка, приводившая к аварийному завершению Plasma при удалении виджетов или панелей. Устранено аварийно завершение менеджера приложений Discover при установке приложений в формате Flatpak. Исправлены проблемы, приводившие к большой нагрузке на CPU на странице входа в систему (SDDM) и при открытии диалогов для настройки обоев. Повышена плавность переключения режимов экрана в многомониторных конфигурациях с мониторами, поддерживающими VRR.


Дополнительно можно отметить выпуск мобильной платформы KDE Plasma Mobile 25.11. Готовые сборки KDE Plasma Mobile можно загрузить из тестового репозитория дистрибутива postmarketOS или воспользовавшись Fedora KDE Plasma Mobile Spin. Поддержка телефонии в Plasma Mobile базируется на телефонном стеке ModemManager и коммуникационном фреймворке Telepathy. Для вывода графики используется композитный сервер kwin_wayland, а для обработки звука применяется PulseAudio. Мобильные версии приложений развиваются в основном составе KDE Gear. Для построения интерфейса приложений задействован набор компонентов Mauikit и фреймворк Kirigami из состава KDE Frameworks, позволяющий создавать универсальные интерфейсы, пригодные для смартфонов, планшетов и ПК.

В новой версии представлены изменения в приложении для работы с камерой и в конфигураторе Plasma Settings. В приложении для работы с камерой обеспечено добавление к фотографиям EXIF-данных со временем фото, предоставлена возможность настройки каталога и шаблона сохраняемых имён файлов, улучшена работа с библиотекой libcamera. В конфигураторе появилась поддержка показа всех доступных модулей с настройками. Добавлена возможность использования отдельной кнопки "Apply" для применения изменённых настроек.



Источник: https://www.opennet.ru/opennews/art.shtml?num=64202

opennet honked 07 Nov 2025 13:00 +0100

Google опубликовал Magika 1.0, инструментарий для определения типа содержимого файлов

Компания Google представила релиз инструментария Magika 1.0, предназначенного для определения типа содержимого на основе анализа имеющихся в файле данных. Magika может точно определять в содержимом используемые языки программирования, методы сжатия, установочные пакеты, исполняемый код, виды разметки, форматы звука, видео, документов и изображений. Связанный с проектом инструментарий и готовая модель машинного обучения распространяются под лицензией Apache 2.0. Обвязки подготовлены для языков Rust, Python, JavaScript/TypeScript и Go.

От похожих проектов, определяющих MIME-тип по содержимому, Magika отличается применением методов машинного обучения, высокой производительностью и точностью определения. Модель обучена с использованием фреймворка Keras на 100 млн примеров файлов (размер набора данных более 3 TB) и поддерживает распознавание 200 типов данных с точностью не менее 99%. Модель скомпонована в формате ONNX и имеет размер всего несколько мегабайт. Задействование методов глубокого машинного обучения позволило на 50% повысить точность определения по сравнению с ранее применявшейся в Google системой на основе вручную заданных правил.

В Google система используется для классификации файлов в сервисах Gmail, Drive, Code Insight и Safe Browsing при выполнения проверок безопасности и соответствия правилам сервисов. Обеспечена интеграция Magika в платформы VirusTotal и abuse.ch в качестве звена для первичной фильтрации файлов перед выполнением специфичных анализаторов. Развёрнутая в инфраструктуре Google конфигурация Magika обеспечивает сканирование нескольких миллионов файлов в секунду и нескольких сотен миллиардов файлов в неделю. После загрузки модели время формирования вывода составляет 5 мс при тестировании на одном ядре CPU. Время определения почти не зависит от размера файла.

Для задействования Magika в своих проектах подготовлены утилита командной строки, пакеыт для Python, Rust и Go, а также JavaScript-библиотека, способная работать в браузере или в проектах на базе Node.js. Интерфейс командной строки и API поддерживают выполнение операций в пакетном режиме, т.е. позволяют проверять несколько файлов за один запрос. Имеется режим рекурсивного сканирования всего содержимого каталога и три режима прогнозирования для настройки устойчивости к ошибкам (высокая уверенность, средняя уверенность и наилучшая догадка).

Изначально проект развивался на языке Python, но при подготовке релиза 1.0 движок для определения типов контента был переписан на языке Rust, что позволило добиться более высокой производительности, сохранив должный уровень защищённости кода. Для выполнения модели машинного обучения задействован фреймворк ONNX Runtime, а для параллельной асинхронной обработки запросов - библиотека Tokio. На MacBook Pro (M4) производительность движка позволяет обрабатывать около 1000 файлов в секунду.

Помимо нового движка, из изменений в выпуске 1.0 отмечается расширение числа поддерживаемых типов с примерно 100 до 200; добавление нового клиента командной строки, написанного на Rust; повышение точности определения текстовых форматов, таких как файлы конфигурации и код; переработка модулей для Python и TypeScript для упрощения их интеграции с другими проектами. Среди поддерживаемых новых типов контента: форматы, применяемые при машинном обучении и AI; языки программирования Swift, Kotlin, TypeScript, Dart, Solidity (solidity), Web Assembly и Zig; DevOps-компоненты (Dockerfiles, TOML, HashiCorp, сборочные файлы Bazel и правила YARA); БД SQLite; файлы AutoCAD (dwg, dxf), Adobe Photoshop (psd) и шрифты (woff, woff2). Улучшено разделение кода на C++ и C, JavaScript и TypeScript.

Источник: https://www.opennet.ru/opennews/art.shtml?num=64201

opennet honked 07 Nov 2025 13:00 +0100

Перенос разработки Fedora с Pagure на платформу совместной разработки Forgejo

Команда, отвечающая за подготовку релизов Fedora Linux, анонсировала финальную стадию миграции проекта с собственной платформы Pagure на новую систему совместной разработки, построенную на базе проекта Forgejo. В конце сентября в тестовом режиме на базе Forgejo для работы с кодом и разбором сообщений о проблемах (issue) был запущен сервис совместной разработки Fedora Forge. На 18 ноября намечен перевод из Pagure в новый сервис всех открытых и закрытых issue-сообщений, и отключение доступа к старому интерфейсу отслеживания ошибок.

Таким образом, после 18 ноября все проблемы, связанные с релизами и их подготовкой, будут доступны для публикации только через Forgejo. Миграция также коснётся основного репозитория RelEng, который до этого уже был отзеркален в Forgejo. Следом будет осуществлён перенос оставшихся репозиториев, таких как faint и composes. В качестве причины смены платформы упоминается то, что проект Pagure требует больших ресурсов для сопровождения, находится в состоянии стагнации и не получил широкого распространения вне Fedora.

Платформа Forgejo является форком проекта Gitea, который в свою очередь ответвился от платформы Gogs. Ключевыми особенностями Forgejo является низкое потребление ресурсов (может использоваться в дешёвых VPS) и простой процесс установки. Предоставляются типовые возможности работы с проектами, такие как управление задачами, отслеживание проблем (issues), pull-запросы, wiki, средства для координации групп разработчиков, подготовка релизов, автоматизация размещения пакетов в репозиториях, управление правами доступа, сопряжение с платформами непрерывной интеграции, поиск кода, аутентификация через LDAP и OAuth, доступ к репозиторию по протоколам SSH и HTTP/HTTPS, подключение web-хуков для интеграции со Slack, Discord и другими сервисами, поддержка Git-хуков и Git LFS, инструменты для миграции и зеркалирования репозиториев.

Источник: https://www.opennet.ru/opennews/art.shtml?num=64200

opennet honked 07 Nov 2025 11:00 +0100

Выпуск мобильной платформы /e/OS 3.2

Представлен выпуск мобильной платформы /e/OS 3.2, сфокусированной на конфиденциальности пользовательских данных. Платформа основана Гаэлем Дювалем (Gaël Duval), создателем дистрибутива Mandrake Linux. Проект поддерживает 253 модели смартфонов и формирует сборки прошивок для наиболее популярных из них. На базе смартфонов OnePlus, Fairphone, Teracube и Pixel подготовлены собственные редакции устройств, распространяемые с предустановленной прошивкой /e/OS под брендами Murena One, Murena 2, Murena Fairphone 4/5/6, Murena Teracube 2e, Murena Pixel 5/7 и Murena SHIFTphone 8.

Прошивка /e/OS развивается как ответвление от платформы LineageOS (на базе Android), избавленное от привязки к сервисам и инфраструктуре Google для исключения передачи телеметрии на серверы Google и повышения уровня конфиденциальности. Среди прочего, блокируется и неявная отправка информации, например, обращения к серверам Google при проверке доступности сети, резолвинге DNS и определении точного времени.

В поставку входит пакет microG, предлагающий независимые аналоги сервисов Google, что позволяет обойтись без установки проприетарных компонентов. Для определения местоположения по Wi-Fi и базовым станциям (без GPS) прослойка UnifiedNlp, способная работать через BeaconDB, OpenWlanMap, openBmap, OpenCellID, lacells.db и другие альтернативные сервисы. Вместо поисковой системы Google предлагается метапоисковый сервис Murena Find на основе поискового движка Qwant.

Для синхронизации точного времени вместо обращения к NTP-серверу Google запросы отправляются на серверы из коллекции NTP Pool, а вместо DNS-серверов Google (8.8.8.8) используются DNS-серверы текущего провайдера. В web-браузере по умолчанию включён блокировщик рекламы и скриптов для отслеживания перемещений. Для синхронизации файлов и данных приложений разработан собственный сервис, совместимый с инфраструктурой на основе Nextcloud. Серверные компоненты основаны на открытом ПО и доступны для установки на подконтрольных пользователю системах.

Интерфейс пользователя включает собственное окружение для запуска приложений BlissLauncher, улучшенную систему уведомлений, новый экран блокировки и иное стилевое оформление. В BlissLauncher задействован разработанный для /e/OS набор автоматически масштабируемых пиктограмм и отдельная подборка виджетов (например, виджет для показа прогноза погоды).

Проектом также развивается собственный менеджер аутентификации, позволяющий использовать для всех сервисов единую учётную запись (user@murena.io), регистрируемую в процессе первой установки. Учётную запись можно использовать для получения доступа к своему окружению с других устройств или через Web. В облаке Murena Cloud бесплатно предоставляется 1ГБ для хранения своих данных, синхронизации приложений и резервных копий.

Среди входящих в состав приложений: почтовый клиент Mail (форк K9-Mail), web-браузер Cromite (на базе Chromium), программа для работы с камерой OpenCamera, программа для отправки мгновенных сообщений QKSMS, система для ведения заметок nextcloud-notes, PDF-просмотрщик MJ PDF, планировщик opentasks, программа для работы с картами Magic Earth, галерея фотографий gallery3d, файловый менеджер, каталог приложений App Lounge.

Основные изменения в /e/OS 3.2:

  • В пакете Advanced Privacy, передающем приложениям фиктивные данные о местоположении и IP-адресе, а также блокирующем встроенные в приложения системы отслеживания активности пользователя, реализована возможность для информирования в режиме реального времени о попытках отправки пользовательских данных из приложений. При желании вывод подобных уведомлений можно отключить в настройках.
  • В менеджере приложений App Lounge реализовано отображение размера приложений, устанавливаемых из каталога F-Droid. Обеспечен вывод списка наиболее популярных приложений в привязке к региону, а не локали. Проведена оптимизация производительности.
  • Расширены возможности прошивки для смартфонов Fairphone 6: добавлена поддержка настройки действий, выполняемых при нажатии боковой кнопки; добавлено приложение Fairphone Camera для работы с камерой; в настройках предоставлена возможность ограничения уровня заряда аккумулятора; налажена корректная работа проводных гарнитур при прослушивании музыки и осуществлении звонков.
  • Для устройств Fairphone 5, Pixel 7 и Pixel 8 сформированы OTA-обновления с прошивкой /e/OS на базе Android 15.
  • Повышена надёжность работы системы родительского контроля.
  • Перенесены обновления и исправления из платформы LineageOS 22.2, основанной на кодовой базе Android 15.
  • В web-браузере движок обновлён до Chromium 141.0.7390.111.
  • Пакет microG обновлён до версии 0.3.10, в которой устранены проблемы, в некоторых случаях приводившие к аварийному завершению при обновлении со старой версии /e/OS.


Источник: https://www.opennet.ru/opennews/art.shtml?num=64199

opennet honked 07 Nov 2025 10:00 +0100

Выпуск UDisks 2.11.0 с переработанной поддержкой ATA SMART

После двух лет разработки опубликован релиз пакета UDisks 2.11.0, включающего системный фоновый процесс, библиотеки и инструментарий для организации доступа и управления дисками, устройствами хранения и связанными с ними технологиями. UDisks предоставляет D-Bus API для работы с дисковыми разделами, настройки MD RAID, работы с блочными устройствами в файле (loop-монтирование), манипуляций с файловыми системами и т.п. Дополнительно поставляются модули для мониторинга и управления BTRFS, iSCSI, libStorageManagement, LVM2 и LVM Cache. Например, UDisks используется в приложениях GNOME для работы с дисковыми разделами GNOME и различных графических конфигураторах.

В новой версии:

  • Переработана поддержка технологии ATA SMART. Операции диагностики накопителя при помощи ATA SMART перенесены в библиотеку libblockdev, в которой реализовано два плагина: один на базе библиотеки libatasmart (по умолчанию) и второй на базе инструментария smartmontools (экспериментальный). Переработан код для отслеживания температуры накопителя и добавлен дополнительный слой для проверки атрибутов SMART.
  • Добавлена сборочная опция "--disable-smart" для отключения кода диагностики накопителя при помощи ATA SMART. Для выборочного отключения ATA SMART в привязке к драйверам доступно udev-свойство ID_ATA_SMART_ACCESS.
  • Флаги, отражающие возможности подсистемы ATA, теперь главным образом извлекаются при помощи udev.
  • В API добавлены новые методы: Manager.GetDrives(), Block.RestoreEncryptedHeader(), Encrypted.Convert(), Encrypted.HeaderBackup(), Filesystem.BTRFS.[Get|Set]DefaultSubvolumeID() и Loop.SetCapacity().


Источник: https://www.opennet.ru/opennews/art.shtml?num=64198

opennet honked 07 Nov 2025 08:00 +0100

Выпуск межсетевого экрана firewalld 2.4.0

Сформирован выпуск динамически управляемого межсетевого экрана firewalld 2.4.0, реализованного в форме обвязки над пакетными фильтрами nftables и iptables. Firewalld запускается в виде фонового процесса, позволяющего динамически изменять правила пакетного фильтра через D-Bus, без необходимости перезагрузки правил пакетного фильтра и без разрыва установленных соединений. Проект уже применяется во многих дистрибутивах Linux, включая RHEL 7+, Fedora 18+ и SUSE/openSUSE 15+. Код firewalld написан на языке Python и распространяется под лицензией GPLv2.

Для управления межсетевым экраном используется утилита firewall-cmd, которая при создании правил отталкивается не от IP-адресов, сетевых интерфейсов и номеров портов, а от названий служб (например, для открытия доступа к SSH нужно выполнить "firewall-cmd --add --service=ssh", для закрытия SSH - "firewall-cmd --remove --service=ssh"). Для изменения конфигурации межсетевого экрана также может использоваться графический интерфейс firewall-config (GTK) и апплет firewall-applet (Qt). Поддержка управления межсетевым экраном через D-BUS API firewalld имеется в таких проектах, как NetworkManager, libvirt, podman, docker и fail2ban.

Ключевые изменения:

  • Добавлен набор правил "gateway", охватывающий функциональность типового домашнего маршрутизатора (включает NAT, conntrack-обработчики и перенаправление трафика между зонами). Пример настройки шлюза с внутренним и внешним сетевыми интерфейсами при помощи набора правил "gateway":
     
       firewall-cmd --permanent --zone internal --add-interface eth0
       firewall-cmd --permanent --zone external --add-interface eth1
       firewall-cmd --permanent --policy-set gateway --remove-disable
       firewall-cmd --reload
    
  • Реализован флаг "disable", который можно использовать в XML-настройках, утилите командной строки или через DBus для отключения отдельных правил и наборов правил (policy set).
  • Максимальный размер имён правил увеличен с 17 до 128 символов.
  • Добавлен сервис gitea для одноимённой платформы совместной разработки (TCP-порт 3000).
  • Добавлен сервис syslog-ng для одноимённой системы ведения логов (порты 514, 601 и 6514).
  • Добавлен сервис proxy-http для прокси HTTP/HTTPS, типа Squid (TCP-порт 3128).
  • Добавлен сервис socks для прокси-серверов с реализацией протокола SOCKS (TCP-порт 1080).


Источник: https://www.opennet.ru/opennews/art.shtml?num=64197

opennet honked 06 Nov 2025 22:00 +0100

Релиз дистрибутива SUSE Linux Enterprise Server 16

Компания SUSE опубликовала релиз дистрибутива SUSE Linux Enterprise Server 16. Ветка SUSE Linux Enterprise 16 сформирована спустя 7 лет с момента выпуска SUSE 15. Пакеты SUSE 16 уже использованы в качестве основы в поддерживаемом сообществом дистрибутиве openSUSE Leap 16. Дистрибутив можно загрузить и использовать бесплатно, но доступ к получению обновлений и исправлений ограничен 60-дневным пробным периодом. Выпуск доступен в сборках для архитектур aarch64, ppc64le, s390x и x86_64.

Для ветки SUSE Linux 16 будет обеспечен более предсказуемый и гибкий цикл формирования релизов. Вместо SP-обновлений (Service Pack) начнёт применяться схема с промежуточными выпусками (16.1, 16.2 и т.п.) и длительной поддержкой (LTS - Long Term Support). Общее время сопровождение ветки SUSE Linux 16 составит 16 лет. Всего планируется сформировать 7 промежуточных выпусков - от 16.0 до 16.6, каждый из которых будет публиковаться ежегодно в ноябре. Обновления для каждого отдельного промежуточного выпуска будут сопровождаться 5 лет - 2 года общей поддержки и 3 года расширенной (LTS).

Ключевые изменения (1, 2, 3, 4):

  • Задействован новый инсталлятор Agama, примечательный отделением пользовательского интерфейса от внутренних компонентов YaST и поставкой фронтенда для управления установкой через web-интерфейс.
  • Модернизирован стек управления системой. Вместо традиционного стека YaST для управления системой задействован пакет Cockpit, а вместо YaST Software GUI предложен новый пакет Myrlyn. Прекращена поддержка скриптов инициализации SysV. Возможно использование только unit-ов systemd.
  • По умолчанию предложены только среды рабочего стола, использующие Wayland. X.org Server удалён из поставки. Поддержка запуска приложений на базе X11 сохранена при помощи XWayland. Базовая среда рабочего стола основана на GNOME 48. Прекращена поставка VNC-сервера, GTK2, Qt5 и wxWidgets.
  • Расширены возможности для автоматического создания снапшотов со срезами состояния файловой системы, базирующиеся на Btrfs и утилите Snapper. Снапшоты теперь могут использоваться в системных образах для облачных платформ. По умолчанию возможность отката изменений интегрирована во все компоненты и администратор может откатить практически любое изменение - от обновления системы до применения отдельных патчей и модификации конфигурации.
  • В основной состав интегрирована поддержка Live-патчей, позволяющих исправлять уязвимости и критические ошибки в ядре и библиотеках glibc и openssl без необходимости перезапуска системы.
  • Прекращена поддержка архитектуры x86-64-v1. Работа возможна только на системах x86 с архитектурой x86_64-v2, которая поддерживается процессорами примерно с 2009 года (начиная с Intel Nehalem) и отличается наличием таких расширений, как SSE3, SSE4_2, SSSE3, POPCNT, LAHF-SAHF и CMPXCHG16B.
  • По умолчанию в ядре отключена поддержка 32-разрядных систем x86 и запуска 32-разрядных исполняемых файлов. Для возвращения поддержки 32-разрядных системных вызовов следует выставить параметр "ia32_emulation=1" при загрузке ядра Linux.
  • По умолчанию включена система мандатного контроля доступа SELinux. Поддержка AppArmor объявлена устаревшей.
  • В состав включён инструментарий Ansible для управления конфигурацией, оркестровки, централизованной установки приложений и параллельного выполнения типовых задач на группе систем. Добавлены системные роли для настройки различных компонентов системы, включая межсетевой экран, ha_cluster, selinux и podman. Поддержка системы Salt сохранена в качестве опции.
  • В состав включены библиотеки со встроенной поддержкой криптоалгоритмов, стойких к подбору на квантовом компьютере, таких как ML-KEM и ML-DSA. Поддержка подобных алгоритмов обеспечена в OpenSSL 3.5, Libgcrypt 1.11.1, Mozilla NSS 3.112 и Go 1.24.
  • Реализована поддержка воспроизводимых сборок, позволяющих сформировать собственные сборки, побитово совпадающие с предлагаемыми для загрузки готовым сборкам, чтобы убедиться, что распространяемые в пакетах бинарные файлы собраны из предоставляемых исходных текстов и не содержат скрытых изменений.
  • Обновлены версии пакетов, включая ядро Linux 6.12, glibc 2.40, Systemd 257, Python 3.13, Perl 5.42, grub2 2.12, OpenSSH 9.9, QEMU 10.0.2, MariaDB 11.8, PostgreSQL 17, PHP 8.4, Node.js 22, Rust 1.88, ruby 3.4, clang 19, gcc 15.
  • Полностью решена проблема 2038 года. Все пакеты переведены на использование 64-разрядного типа time_t в портах дистрибутива для 32-разрядных архитектур, в которых продолжал использоваться 32-разрядный тип time_t (не может применяться для обработки времени позднее 19 января 2038 года из-за переполнения счётчика секунд, прошедших после 1 января 1970 года).
  • Сетевой конфигуратор wicked заменён на NetworkManager.
  • В качестве пакетного фильтра вместо iptables по умолчанию задействован NFTables.
  • Осуществлён переход с DHCP-сервера ISC DHCP на KEA DHCP.
  • Прекращена поставка гипепрвизора Xen - в качестве основного гипервизора для виртуализации задействован KVM.
  • Пакеты с СУБД Redis заменены на форк Valkey.
  • Добавлена поддержка легковесных сторожевых страниц для защиты стека (stack guard page), обращение к которым вызывает исключение и аварийное завершение процесса (SIGSEGV). Реализация основана на системном вызове madvise.
  • Добавлена поддержка NFS поверх TLS.
  • В состав включён фоновый процесс tuned, выполняющий автоматическую оптимизацию настроек оборудования и ядра в зависимости от текущей нагрузки.
  • Задействована модель хранения файлов конфигурации "UsrEtc", при которой предоставляемые дистрибутивом настройки по умолчанию размещены в каталоге /usr/etc, а изменения, вносимые локальным администратором, помещаются в форме /etc/example.conf.d/*.conf или /etc/example.conf, т.е. поставляемые в пакетах и выставляемые администратором настройки всегда разделены. Применяемые по умолчанию настройки systemd перемещены в каталог /usr.
  • На системах x86_64 объявлена устаревшей, но пока сохранена загрузка на системах с BIOS. По умолчанию для новых установок используется UEFI. Для совместимости со старыми системами поддержка BIOS доступна для миграции виртуальных машин и обновления старых установок с SUSE 15.
  • По умолчанию отключён доступ по SSH с пользователем root при аутентификации по паролю.
  • Прекращена поддержка файловых систем reiserfs, hfsplus, UFS, ocfs2. По умолчанию используется btrfs. В качестве поддерживаемых опций доступны ext4, xfs и gfs2.
  • Для хранения раздела /tmp задействована ФС tmpfs, хранящая данные в памяти и не сохраняющая содержимое между перезапусками.
  • Добавлена экспериментальная поддержка lklfuse для монтирования блочных устройств или образов файловых систем. Lklfuse запускается как неривилегированный процесс в пространстве пользователя, но при этом используются драйверы файловых систем из ядра Linux.
  • Добавлена экспериментальная (Tech Preview) поддержка сервиса на базе протокола MCP (Model Context Protocol), позволяющего обращаться к компонентам операционной системы из AI-ассистентов. Например, AI-ассистент можно использовать для формирования задач на естественном языке для управления инфраструктурой, утилитами и данными. AI-ассистент доступен из web-консоли Cockpit. Возможно подключение к различным провайдерам больших языковых моделей.


Источник: https://www.opennet.ru/opennews/art.shtml?num=64136

opennet honked 06 Nov 2025 12:00 +0100

В Chromium решено удалить поддержку XSLT и прекратить использование libxslt и libxml2

Компания Google приняла решение удалить из браузерного движка Chromium компонентов для поддержки языка преобразования XML-документов XSLT. В качестве причины упоминается желание сократить поверхность атаки через прекращение использования библиотеки libxslt. По мнению Google поддержка XSLT 1.0 создаёт неоправданные риски безопасности так как в библиотеке libxslt периодически выявляют уязвимости (например, CVE-2025-7425 и CVE-2022-22834) и она имеет проблемы с сопровождением (с июня до сентября библиотека оставалась без сопровождения и исправления уязвимостей). Проекты Firefox и WebKit также рассматривают возможность удаления поддержки XSLT.

Уязвимости в XSLT становятся инструментом для совершения атак на браузеры, при том, что в настоящее время клиентская поддержка XSLT невостребована и используется крайне редко, а задачи преобразования данных в HTML могут решаться более безопасно при помощи JavaScript API, таких как DOMParser и Fetch. По статистике Google доля загруженных web-страниц, на которых используется XSLT, составляет 0.02%, а доля страниц, на которых применяются инструкции обработки XSLT, оценена в 0.001%.

Аналогично решено прекратить использование в Chromium библиотеки libxml2, в которой также регулярно находят уязвимости и имеются проблемы с сопровождением. Библиотека libxml2 используется в Chromium для разбора, сериализации и проверки данных в формате XML, а на базе libxslt реализован класс XSLTProcessor и инструкции обработки XSLT ("‹?xml-stylesheet … ?›").

Поддержка основанных на libxslt возможностей, таких как API XSLTProcessor и инструкции разбора таблиц стилей XML, будет прекращена в выпуске Chrome 155, намеченном на 17 ноября 2026 года. В Chrome 143, запланированном на 2 декабря 2025 года, в web-консоль будет добавлен вывод предупреждения о переводе API XSLTProcessor в разряд устаревших. В Chrome 148 (весна 2026 года) поддержка XSLT будет отключена по умолчанию в ветках Canary, Dev и Beta. Функциональность для разбора XML будет оставлена, но переведена на новую библиотеку, написанную на языке Rust с оглядкой на обеспечение безопасности.

В качестве замены встроенной в браузер поддержки XSLT предлагается перенести обработку XSLT на сторону сервера и отправлять клиентам уже сформированный HTML-контент. Обработчики, использующие XML API для взаимодействия между клиентом и сервером, предлагается заменить на применение формата JSON и отрисовки через преобразование JSON в HTML/CSS при помощи JavaScript. Из возможных альтернатив также отмечается применение JavaScript-библиотек Saxonica с реализацией XSLT, polyfill-прослойки для обеспечения совместимости со старым кодом, предлагающей замену XSLTProcessor на базе WASM, и браузерного дополнения, автоматически подставляющего polyfill-прослойку в XML документы.

Источник: https://www.opennet.ru/opennews/art.shtml?num=64194

opennet honked 06 Nov 2025 10:00 +0100

Протест японского сообщества Mozilla Support из-за навязывания машинного перевода

Лидер японского сообщества SUMO (SUpport.Mozilla.Org), занимающегося поддержкой пользователей и написанием статей на сайте support.mozilla.org, объявил о прекращении деятельности в знак протеста против навязывания автоматизированной системы перевода "sumobot". 22 октября без согласия сообщества данная система была задействована компанией Mozilla для автоматизированного перевода статей из базы знаний support.mozilla.org.

В итоге, около 300 статей, написанных носителями японского языка, были заменены на машинный перевод англоязычных статей, качество которого не выдерживает критики. В предложенном машинном переводе не учтены принятые правила перевода и не выполнена локализация с учётом специфики японских пользователей.

Система машинного перевода была сразу внедрена на рабочих серверах без предварительной обкатки в тестовом окружении. Прямой машинный перевод всех статей из архива был автоматически подтверждён для публикации без проведения рецензирования. Также был введён процесс подтверждения ботом в течение 72 часов после обновления исходных статей, что мешает обучению новых участников.

Введённые изменения восприняты как массовое уничтожение результатов многолетней работы сообщества и нарушение миссии Mozilla. В связи с этим лидер японского сообщества SUMO заявил о прекращении участия в поддержании support.mozilla.org и запрете использования своих ранее выполненных переводов для обучения AI-систем Mozilla.

Источник: https://www.opennet.ru/opennews/art.shtml?num=64192

opennet honked 06 Nov 2025 09:00 +0100

Представлена мобильная платформа РОСА Мобайл 2.2, основанная на KDE Plasma Mobile

Компания "РОСА" представила мобильную операционную систему РОСА Мобайл 2.2 (ROSA Mobile), адаптированную для российского смартфона Р-ФОН. Окружение РОСА Мобайл основано на открытой платформы Plasma Mobile, развиваемой проектом KDE. РОСА Мобайл отличается переработкой интерфейса, своим набором пиктограмм и поставкой дополнительных приложений.

Системное окружение собрано из собственного репозитория пакетов. Для вывода графики используется композитный сервер kwin_wayland. В платформе задействованы телефонный стек ModemManager и коммуникационный фреймворк Telepathy. Мобильные приложения базируются на наборе Plasma Mobile Gear и используют библиотеку Qt, набор компонентов Mauikit и фреймворк Kirigami. Имеется возможность запуска Android-приложений, используя проект Waydroid.

РОСА Мобайл устанавливается на смартфон Р-ФОН разработан компанией Рутек и собирается на собственном производстве в Саранске (Технопарк-Мордовия). Устройство оснащено 6.7-дюймовым экраном (AMOLED, FullHD+ 1080x2412, Gorilla Glass 5) и комплектуется SoC MediaTek helio G99 (2 ядра Cortex-A76 на частоте 2200 MHz и 6 ядер Cortex-A55 на частоте 2000 MHz), выпускаемым с мая 2022 года. Объём ОЗУ - 8 ГБ, встроенной памяти - 128 ГБ. Имеется слот для MicroSD, Wi-Fi 2.4/5 ГГц, NFC, Bluetooth 5.2, фронтальная камера 16 Мп и задняя камера 50 Мп (f/1.8). Аккумулятор - 5000 мАч. Вес устройства 189 г. Размер 163.8х76.3х7.96 мм. Внешний вид, размер, вес и характеристики (кроме более слабой задней камеры и размера ОЗУ) совпадают со смартфоном Symphony Helio 80. Утверждается, что драйверы для Wi-Fi, Bluetooth и других компонентов смартфона Р-ФОН разработаны самостоятельно.

Среди изменений в РОСА Мобайл 2.2:

  • Проведена оптимизация платформы для смартфона Р-ФОН, позволившая ускорить запуск приложений и повысить плавность переключения между задачами. Реализован режим энергосбережения для модема, позволивший увеличить время автономной работы в зонах со слабым сигналом мобильных операторов связи.
  • В программе для работы с камерой устранено зависание, возникавшее при переключении между режимами фото и видео. Улучшена работа сканера QR-кодов. В галерее обеспечена корректная сортировка снятых фото и видео, а также устранены проблемы с обработкой коротких видеороликов.
  • Ускорен запуск эмулятора для выполнения приложений, созданных для платформы Android. При запуске эмулятора исключён вывод экрана "Запуск телефона", а при установке Andrpoid-приложений из RuStore убран диалог для запроса полномочий.
  • В адресной книге реализована поддержка добавления или объединения контактов через сканирование QR-кода.
  • В сетевой конфигуратор добавлена поддержка подключения к Wi-Fi по QR-коду и возможность ручного указания статического IP-адреса.
  • Улучшено поведение экранной клавиатуры, повышена точность автоподсказок и расширены возможности проверки орфографии.
  • Устранена ошибка, которая могла приводить к исчезновению пиктограмм с рабочего стола после перезагрузки.
  • Решена проблема, из-за которой точка доступа Wi-Fi пропадала из области видимости для других устройств.
  • Исправлена ошибка, при которой звук во время разговора одновременно выводился в Bluetooth-гарнитуру и динамик смартфона.


Источник: https://www.opennet.ru/opennews/art.shtml?num=64191

opennet honked 05 Nov 2025 22:00 +0100

Из GNOME Shell и Mutter удалён код для поддержки X11

Из кодовой базы композитного менеджера Mutter исключён весь код, обеспечивавший поддержку протокола X11. Одновременно компоненты для поддержки X11 удалены из кодовой базы оболочки GNOME Shell. В намеченном на весну следующего года выпуске GNOME 50 будет полностью прекращена поддержка работы под управлением X-сервера. Возможность запуска X11-приложений при помощи XWayland сохранится.

Подготовка к удалению кода, связанного с X11, была проведена в осеннем выпуске GNOME 49 - по умолчанию поддержка X11 была отключена в gnome-session, mutter и gnome-shell, но код был оставлен и сохранена возможности возвращения компонентов для поддержки X11 на этапе сборки. В дистрибутивах поддержка сеанса GNOME на базе X11 прекращена в Ubuntu 25.10, Fedora 43 и RHEL 10. В библиотеке GTK бэкенд для протокола X11 объявлен устаревшим и в GTK5 планируют оставить только поддержку Wayland.

Сеанс на базе протокола Wayland применяется в GNOME по умолчанию с 2016 года, в то время как сеанс на базе X11 со временем всё хуже тестируется, а связанные с X11 ошибки остаются без исправления. Прекращение поддержки сеанса с X11 снизит трудозатраты на сопровождение и высвободит ресурсы, которые можно будет направить на улучшения качества работы современного графического стека.

Источник: https://www.opennet.ru/opennews/art.shtml?num=64187

opennet honked 05 Nov 2025 19:00 +0100

Опубликована среда рабочего стола LXQt 2.3.0

После 6 месяцев разработки представлен релиз среды рабочего стола LXQt 2.3.0 (Qt Lightweight Desktop Environment), продолжающей развитие проектов LXDE и Razor-qt. Интерфейс LXQt следует идеям классической организации рабочего стола, но привносит современное оформление и приёмы, увеличивающие удобство работы. LXQt позиционируется как легковесное, модульное, быстрое и удобное окружение, вобравшее лучшие черты LXDE и Razor-qt. Код размещён на GitHub и поставляется под лицензиями GPL 2.0+ и LGPL 2.1+. Появление готовых сборок ожидается для Ubuntu (LXQt по умолчанию предлагается в Lubuntu), Arch Linux, Fedora, openSUSE, Mageia, FreeBSD, ROSA и ALT Linux.

В новой версии:

  • Улучшена поддержка протокола Wayland. В компонент lxqt-wayland-session, позволяющий запускать LXQt в сочетании с различными композитными менеджерами Wayland (LabWC, WayFire, kwin_wayland, Sway, Hyprland, River и Niri), добавлен обработчик lxqt-qdbus, предоставляющий универсальную обвязку над различными командами qdbus, не зависящую от композитного менеджера. Обеспечено помещение автоматически запускаемых приложений в корректные категории. Глобальный уровень масштабирования теперь можно устанавливать только для X11, а в Wayland для изменения уровня масштабирования следует использовать возможности композитных менеджеров или внешние утилиты, такие как kanshi.
  • В окружениях на базе Wayland в панели обеспечена работа интерфейса переключения между виртуальными рабочими столами при использовании композитных серверов, поддерживающих протокол ext-workspaces-v1, таких как Labwc и Niri.
  • В панель добавлен новый бэкенд на базе IPC для работы поверх композитного сервера Wayfire (по числу поддерживаемых операций с панелью Wayfire теперь уступает только KWin-Wayland).
  • В панельном плагине "Custom Command" реализована работающая с Wayland и X11 поддержка структурированного вывода и возможность обновления содержимого при продолжении вывода от запущенной команды.
  • В панели реализована возможность активации плагина "Show Desktop" через операции drag&drop. В плагине управления подсветкой появилась возможность изменения яркости вращением колеса мыши. В меню Fancy Menu и Main Menu обеспечена поддержка сортировки элементов с учётом локали.
  • В утилите для создания скриншотов ScreenGrab появилась возможность работы в Wayland-окружениях с композитными серверами, поддерживающими протокол "wlr_screencopy". В окружениях на базе X11 улучшено выделения цветом границы выделенной области.
  • В файловом менеджере PCManFM-Qt в контекстном меню боковой панели реализован пункт "Safely Remove" для безопасного извлечения накопителей. В настройки добавлена опция для отключения всплывающих подсказок для файлов на рабочем столе.
  • В эмулятор терминала QTerminal и виджет QTermWidget добавлена поддержка флагов Emoji. В контекстное меню добавлен элемент для переключения меток ("Toggle Bookmarks").
  • В менеджер управления энергопотреблением добавлена опция для выключения монитора в окружениях на базе Wayland (поддерживаются композитные менеджеры KWin, niri и Hyprland).
  • В программу для работы с архивами LXQt Archiver добавлена поддержка алгоритма сжатия LZ4.
  • Запущен новый wiki-сайт проекта с улучшенной система поиска (содержимое старых wiki-страниц сохранено).


Источник: https://www.opennet.ru/opennews/art.shtml?num=64188

opennet honked 05 Nov 2025 15:00 +0100

Выпуск СУБД SQLite 3.51

Опубликован релиз SQLite 3.51, легковесной СУБД, оформленной в виде подключаемой библиотеки. Код SQLite распространяется как общественное достояние (public domain), т.е. может использоваться без ограничений и безвозмездно в любых целях. Финансовую поддержку разработчиков SQLite осуществляет специально созданный консорциум.

Основные изменения:

  • Добавлены новые JSON-функции jsonb_each() и jsonb_tree(), которые отличаются от ранее доступных функций json_each() и json_tree() тем, что возвращают значение JSONB для данных с типом массив или объект.
  • Код расширений carray и percentile перенесён в базовый файл "sqlite3.c" со встраиваемым кодом SQLite. По умолчанию данные дополнения отключены и требуют указания при сборке параметров "-DSQLITE_ENABLE_CARRAY" и "-DSQLITE_ENABLE_PERCENTILE".
  • Улучшен интерфейс для использования SQLite в скриптах на языке Tcl. В команду "eval" добавлен флаг "-asdict" для выставления строк с использованием типа "dict" вместо "array". Добавлена возможность прерывания пользовательских функций для возвращения значения NULL.
  • Изменения в интерфейсе командной строки:
    • Точность команды ".timer" увеличена до микросекунд;
    • В режимах форматирования "box" и "column" реализована поддержка символов с двойной шириной;
    • Команда ".imposter" теперь может предоставлять в режиме только для чтения imposter-таблицы (позволяют получить доступ к данным в индексе как к таблице), работающие с операцией VACUUM и не требующие запуска с флагом "--unsafe-testing";
    • В утилиту sqlite и команду ".open" добавлена опция "--ifexists".
    • Максимальная ширина строки, выставляемая при помощи команды ".width", ограничена 30000 символов.
  • Внесены оптимизации производительности:
    • Сокращена нагрузка на CPU при фиксации транзакций, ограниченных доступом на чтение;
    • Улучшено определение операций слияния (JOIN), не возвращающих строки из-за того что одна или несколько таблиц не содержит строк;
    • Исключено выполнение скалярных подзапросов, не влияющих на результат;
    • Ускорена работа оконных функций в запросах с выражением "BETWEEN :x FOLLOWING AND :y FOLLOWING" и очень большом значении ":y".
  • Добавлена прагма "PRAGMA wal_checkpoint=NOOP" и функция API sqlite3_wal_checkpoint() для фиксации изменений в WAL-логе
  • В API добавлены функции sqlite3_set_errmsg() и sqlite3_db_status64().
  • В JavaScript/WASM-версии SQLite реализована поддержка сборки в представление WebAssembly с 64-разрядными указателями.
  • Повышена стойкость от повреждения БД в приложениях, снимающих POSIX-блокировки через вызов close().
  • Улучшена поддержка платформы VxWorks.


Источник: https://www.opennet.ru/opennews/art.shtml?num=64186

opennet honked 05 Nov 2025 11:00 +0100

В спецификации OCI Runtime 1.3 появилась поддержка FreeBSD

Проект Open Container Initiative (OCI) опубликовал версию спецификации OCI Runtime 1.3. Спецификация определяет поведение и конфигурационный интерфейс для запуска и управления изолированными контейнерами, унифицирующий взаимодействие с низкоуровневыми runtime-компонентами, такими как runc, crun, youki, gVisor и Kata Containers. OCI Runtime обеспечивает взаимозаменяемость подобных компонентов в высокоуровневых инструментариях, таких как containerd и CRI-O.

Выпуск OCI Runtime 1.3 примечателен добавлением в спецификацию поддержки платформы FreeBSD, в которой для изоляции контейнеров применяется механизм FreeBSD Jails. В качестве низкоуровневого runtime во FreeBSD можно использовать runj. Официальная поддержка в OCI Runtime подчёркивает возможность применения FreeBSD с OCI-совместимыми высокоуровневыми инструментами контейнеризации и оркестровки, и делает платформу FreeBSD более привлекательной для использования в облачных инфраструктурах и корпоративных системах, придерживающихся отраслевых стандартов.

Источник: https://www.opennet.ru/opennews/art.shtml?num=64185

opennet honked 05 Nov 2025 08:00 +0100

Организация Rust Foundation учредила фонд поддержки сопровождающих

Некоммерческая организация Rust Foundation, занимающаяся развитием и поддержкой языка Rust и связанной с ним экосистемы, представила инициативу "Maintainers Fund" для финансирования разработчиков, создающих Rust, и сопровождающих, отвечающих за поддержание разработки проекта.

Отмечается, что язык Rust не может развиваться, оставаться безопасным и функционировать без сопровождающих, выполняющих такие функции как рецензирование pull-запросов и проведение рефакторинга, при том, что работа этих людей часто остаётся недооценённой и основанной только на энтузиазме. Финансирование поможет участникам, от которых зависит разработка Rust, продолжать свою работу, избежать выгорания (1, 2, 3) и получить поддержку, которую они заслуживают.

Средства для нового фонда планируют привлечь за счёт целевых взносов. Участники, которым будет предоставлено финансирования, станут выбираться с учётом пожеланий сообщества и решения управляющего совета, в зависимости от состояния проекта и имеющихся потребностей. Процесс распределения средств будет прозрачным и подконтрольным сообществу на всех уровнях.

Источник: https://www.opennet.ru/opennews/art.shtml?num=64183

opennet honked 05 Nov 2025 08:00 +0100

Выпуск Cozystack 0.37, открытой PaaS-платформы на базе Kubernetes

Доступен выпуск свободной PaaS-платформы Cozystack 0.37, построенной на базе Kubernetes. Проект нацелен на предоставление готовой платформы для хостинг-провайдеров и фреймворка для построения частных и публичных облаков. Платформа устанавливается напрямую на серверы и охватывает все аспекты подготовки инфраструктуры для предоставления управляемых сервисов. Cozystack позволяет запускать и предоставлять кластеры Kubernetes, базы данных и виртуальные машины. Код платформы доступен на GitHub и распространяется под лицензией Apache-2.0.

В качестве базового стека технологий используется Talos Linux и Flux CD. Образы с системой, ядром и необходимыми модулями формируются заранее, и обновляются атомарно, что позволяет обойтись без таких компонентов как dkms и пакетный менеджер, и гарантировать стабильную работу. Предоставляется простой метод установки в пустом дата-центре с помощью PXE и debian-подобного установщика talos-bootstrap. В рамках платформы можно по клику разворачивать Kafka, FerretDB, PostgreSQL, Cilium, Grafana, Victoria Metrics и другие сервисы.

Платформа включает свободную реализацию сетевой инфраструктуры (fabric) на базе Kube-OVN, и использует Cilium для организации сервисной сети, MetalLB для анонса сервисов наружу. Хранилище реализовано на LINSTOR, где предлагается использование ZFS в качестве базового слоя для хранилища и DRBD для репликации. Имеется преднастроенный стек мониторинга на базе VictoriaMetrics и Grafana. Для запуска виртуальных машин используется технология KubeVirt, которая позволяет запускать классические виртуальные машины прямо в контейнерах Kubernetes и уже имеет все необходимые интеграции с Cluster API для запуска управляемых Kubernetes-кластеров внутри "железного" Kubernetes-кластера.

За последние полтора месяца команда проекта выпустила новые версии 0.36 и 0.37. Среди изменений в данных выпусках:

  • С нуля переписан интерфейс пользователя. В качестве основы задействован проект openapi-ui.
  • В интерфейсе появился селектор кластера. Сейчас дашборд работает в режиме одного кластера (по одному дашборду на кластер). В будущем этот же интерфейс будет использоваться для мультикластерного режима.
  • На экране кластера теперь сразу видны все доступные пространствам имё. Список формируется через агрегирующий слой Kubernetes (tenant namespace), поэтому показаны только те пространства, к которым есть доступ.
  • Создание ресурсов теперь идёт через формы, автоматически сгенерированные из Kubernetes OpenAPI. Комментарии из YAML не нужны: поля и валидация берутся напрямую из спецификаций.
  • Спецификация новых приложений формируется из Helm-чартов с помощью cozy-values generator, а введённые поля в форме синхронно отражаются в итоговом YAML.
  • Модули управления tenent-ами переехали в секцию администрирования: здесь можно создавать субтенанты и ставить для них специфические модули/приложения (доступ зависит от роли и прав пользователя).
  • Запланировано добавление вкладки с VNC-консолью для виртуальных машин. Для некоторых типов ресурсов будут добавлены специальные вкладки/поля (например, для KubeVirt-ВМ).
  • Стабилизирован механизм управления ресурсами для tenent-ов Cozystack. Администраторы платформы теперь могут задавать явные лимиты CPU, памяти и хранилища для каждого tenant-namespace в спецификации tenent-а. Таким образом ни один из tenent-ов не может «съесть» всё, оставив другие tenent-ы без ресурсов.
  • Добавлен компонент Kube-OVN Plunger для непрерывного отслеживания состояния центрального управляющего кластера сети Kube-OVN. Внешний агент собирает статус кластера OVN и информацию о консенсусе, показывает метрики Prometheus и поток событий через SSE (Server-Sent Events).
  • Дополнение CoreDNS теперь разворачивается через Helm-чарт и настраивается в спецификации кластера (автомасштабирование, число реплик, сервисный IP и др.). CoreDNS можно конфигурировать как в дашборде, так и через API Cozystack.
  • S3-хранилище на базе SeaweedFS стало более гибким на уровне компонентов. Helm-чарт позволяет независимо настраивать каждый компонент и его ресурсы: master-узлы, volume-серверы (с поддержкой множества зон), базу данных и S3-шлюз. Администраторы могут задавать для каждого компонента количество реплик, лимиты CPU/памяти и объём хранилища.
  • Интегрирована ФС SeaweedFS 3.97 с поддержкой серверного шифрования бакетов S3 (SSE-C, SSE-KMS, SSE-S3). При обновлении Cozystack будет обновлена версия SeaweedFS, а спецификация сервисов — автоматически преобразована к новому формату.
  • NGINX-контроллер теперь настраивается на уровне каждой реплики: можно задавать запросы/лимиты CPU и памяти напрямую или выбирать один из готовых пресетов.
  • Если у виртуальной машины назначен внешний IP, он всегда используется для egress-трафика, независимо от метода назначения этого IP.


Источник: https://www.opennet.ru/opennews/art.shtml?num=64178

opennet honked 04 Nov 2025 23:00 +0100

Debian прекращает поддержку архитектур armel и mips64el

Разработчики проекта Debian объявили об удалении портов для архитектур mips64el и armel (ARM EABI) из репозиториев unstable и experimental. В следующей ветке Debian 14 данные архитектуры поддерживаться не будут. Из плат, в которых использовалась архитектура armel, отмечаются Raspberry Pi 1, Raspberry Pi Zero и Raspberry Pi Zero W.

Источник: https://www.opennet.ru/opennews/art.shtml?num=64182

opennet honked 04 Nov 2025 22:00 +0100

Представлен маршрутизатор Turris Omnia NG с прошивкой на базе OpenWRT

Организация CZ.NIC, являющаяся регистратором чешского домена первого уровня CZ и разработчиком свободного DNS-сервера Knot, представила маршрутизатор Turris Omnia NG, продолжающий развитие выпускаемого последние десять лет устройства Turris Omnia. Как и прошлая модель в новом маршрутизаторе используется собственное ответвление от открытой платформы OpenWRT, поставляемое под именем Turris OS. Устройство поступило в продажу по цене 561 евро. Сопровождение и выпуск обновлений прошивки будут осуществляться в течение 10 лет.

Устройство выходит за рамки обычного маршрутизатора и точки беспроводного доступа, и позиционируется как цифровой центр для дома и малых/средних предприятий. Помимо сетевых возможностей предоставляются средства для развёртывания сетевых хранилищ (NAS, Network-Attached Storage), VPN, резервного копирования, создания сервера печати и запуска произвольных серверных приложений.

На базе платформы Sentinel в прошивке реализован динамический межсетевой экран c элементами для обнаружения вторжений и отслеживания потоков трафика. Прошивка обновляется автоматически без необходимости выполнения каких-либо действий пользователем. Управление осуществляется через web-интерфейс или командную строку.

Из особенностей прошивки также выделяется встроенная возможность запуска Linux-контейнеров при помощи инструментария LXC. В контейнерах можно запускать изолированные приложения, устанавливать произвольные дистрибутивы Linux и создавать виртуальные серверы, для пользователей выглядящие как отдельный компьютер, подключённый к локальной сети.



Аппаратная начинка:

  • 4-ядерный CPU ARMv8 2.2 GHz, 2 ГБ ОЗУ, 8 ГБ eMMC.
  • WAN: 10 Gbps (SFP+), LAN: 10 Gbps (SFP+) и 4 × 2.5 Gbps (RJ45).
  • Wi-Fi 7 2.4/5/6 GHz (до 11530 Mbps), возможность подключения до 8 антенн.
  • Разъём для подключения NVMe-накопителя.
  • Слот M.2 для подключения расширений и порт USB 3.0. Через слот M.2 можно подключить адаптер для 5G.
  • Встроенный цветной экран с разрешением 240 × 240, например, может использоваться для вывода статистики, уведомлений и мониторинга.
  • Пассивное охлаждение.
  • Поддержка монтирования в стойку (Rack-Mount).




Источник: https://www.opennet.ru/opennews/art.shtml?num=64181

opennet honked 04 Nov 2025 19:00 +0100

Программно-аппаратная платформа CHERIoT 1.0 для повышения безопасности кода на языке Си

Представлен финальный вариант спецификации программной-аппаратной платформы CHERIoT 1.0 (Capability Hardware Extension to RISC-V for Internet of Things), определяющей расширение набора команд (ISA) для создания защищённых устройств. CHERIoT предоставляет аппаратные возможности для отслеживания доступа к памяти, проверки корректности работы с указателями и обеспечения изоляции блоков кода. Одновременно опубликован стабильный релиз эталонной формальной модели CHERIoT ISA, определённой на языке Sail. Наработки проекта распространяются под лицензией BSD.

Проект CHERIoT был создан компанией Microsoft для решения проблем с безопасностью в существующем коде на языках C и С++ и защиты подобного кода без необходимости его переработки. Защита реализуется через применение модифицированного компилятора, использующего расширенный набор процессорных инструкций (ISA) для обеспечения целостности указателей, контроля за границами при работе с памятью и предотвращения обращения к освобождённой памяти. В 2023 году наработки CHERIoT были открыты и преобразованы в совместный проект, к которому подключились и другие компании.

Аппаратные компоненты CHERIoT оформлены в виде микроконтроллера на базе архитектуры RISC-V, реализующего защищённую процессорную архитектуру CHERI (Capability Hardware Extension to RISC-V) c моделью управляемого доступа к памяти на основе "capability" (каждая операция чтения и записи в память авторизуется). На базе предоставляемой в CHERIoT архитектуры набора команд (ISA) построена программная модель, гарантирующая безопасность работы с памятью на уровне отдельных объектов, предоставляющая защиту от обращения к уже освобождённой памяти и реализующая легковесную систему изоляции доступа к памяти.

Указанная программная модель защиты напрямую отражается в языковую модель C/C++, что позволяет применять её для существующих приложений, для защиты которых требуется лишь перекомпиляция и запуск на оборудовании, поддерживающем ISA CHERIoT. Например, применение CHERIoT позволяет без внесения изменений в код реализовать автоматическую проверку границ, отслеживание времени жизни областей памяти и обеспечение целостности указателей в компонентах, обрабатывающих не заслуживающие доверия данные.

Среди проблем, блокируемых при помощи CHERIoT:

  • Выход за границы объекта в памяти;
  • Подмена указателей (при применении CHERIoT все указатели должны порождаться от уже существующих указателей);
  • Обращение к памяти после освобождения (любой доступ к памяти по некорректному указателю или указателю, ссылающемуся на освобождённый объект приводит при применении CHERIoT к генерации исключения).

Помимо спецификации и формальной модели проектом развивается эталонная реализация 32-разрядного RISC-V CPU Ibex c поддержкой ISA CHERIoT и модифицированный инструментарий LLVM. Cхемы прототипа CPU и описания аппаратных блоков на языке Verilog распространяются под лицензией Apache 2.0. В качестве основы для CPU использовано ядро Ibex от проекта lowRISC. На базе ядра CHERIoT Ibex готовятся к массовому производству чипы ICENI, поступление в продажу которых запланировано на следующий год. Отдельно компанией Microsoft развивается микроконтроллер Kudu с поддержкой ISA CHERIoT. Ibex и Kudu уже полностью поддерживают спецификацию CHERIoT 1.0. Ведётся работа по стандартизации CHERI-расширений для процессоров RISC-V в организации RISC-V International.

Дополнительно развивается эмулятор платформы на базе FPGA и Docker-контейнер для разработчиков с предустановленным инструментарием и симулятором CPU Ibex, реализованным при помощи Verilator. Кроме того, на базе CHERIoT подготовлен прототип операционной системы реального времени CHERIoT RTOS, предоставляющей возможность изоляции компартментов (compartment) даже на встраиваемых системах с 256 МБ ОЗУ. Код CHERIoT RTOS написан на языке С++ и распространяется под лицензией MIT. В форме компартментов оформлены базовые компоненты ОС, такие как загрузчик, планировщик и система распределения памяти.

Компартмент в CHERIoT RTOS представляет собой изолированную комбинацию кода и глобальных переменных, которая напоминает разделяемую библиотеку, но в отличие от последней может менять своё состояние (mutable) и запускаться в отдельном контексте безопасности. Никакой код извне не может передать управление коду в компартменте и получить доступ к объектам, за исключением обращения к специально определённым точкам входа и использования указателей на объекты, явно переданные при вызове другого компартмента. Для кода и глобальных объектов в компартменте гарантируется целостность и конфиденциальность.

Источник: https://www.opennet.ru/opennews/art.shtml?num=64180

opennet honked 04 Nov 2025 10:00 +0100

Релиз платформы разработки информационных систем lsFusion 6.1

Доступен релиз проекта lsFusion 6.1, развивающего декларативную платформу для разработки бизнес- и веб-приложений. Платформа подходит для разработки корпоративных и учётных приложений и может применяться в качестве открытой и бесплатной альтернативы платформе 1С. Код проекта написан на языке Java и распространяется под лицензией LGPLv3. Типовое ERP-решение для малого и среднего бизнеса MyCompany, использующее lsFusion, распространяется под лицензией Apache 2.0.

В основе платформы заложена парадигма комбинаторного программирования (function-level), что существенно отличает lsFusion от существующих на рынке платформ (например SAP, Dynamics AX, 1С, .Net). Также внутри активно используются событийное, реактивное и объектно-ориентированное программирование. Версия 6.1 фокусируется на исправлении ошибок, а также повышении удобства интеграции, расширении возможностей языка и интерфейса, а также на подготовке к поддержке альтернативных клиентов.

Основные изменения в версии 6.1:

  • Поддержка аннотации "@@deprecated" для пометки устаревших элементов языка и постепенного вывода их из использования.
  • Поддержка MEASURES(groupObject) для построения многомерных отчётов с несколькими показателями.
  • Возможность передачи имён файлов напрямую в операторах чтения и записи (READ / WRITE).
  • Улучшен поиск через PrefixSearch, точные совпадения теперь имеют больший приоритет, а также добавлен новый оператор prefixSearchExact для более гибкого ранжирования.
  • Поддержка внешнего идентификатора действий EXTID для интеграционных сценариев.
  • Действие UpdateStats теперь можно выполнять автоматически по расписанию.
  • Обеспечена канонизация JSON для корректного сравнения/подписей/кеширования без «ложных» различий в порядке полей.
  • Выполнен рефакторинг клиентских действий для будущей поддержки Flutter-клиента.
  • В start.log обеспечена запись версии Java, classpath и аргументов JVM.
  • Улучшено определение и переопределение мобильного режима.


Источник: https://www.opennet.ru/opennews/art.shtml?num=64177

opennet honked 04 Nov 2025 10:00 +0100

Открыт инструментарий для музыкальных плагинов VST 3 и протокола ASIO

Компания Steinberg, занимающаяся производством оборудования и программных систем для музыкальной индустрии, открыла исходный код инструментариев, связанных с разработкой плагинов VST 3 (Virtual Studio Technology) и использованием протокола ASIO (Audio Stream Input/Output). Выпуск VST SDK 3.8 открыт под лицензий MIT. Также предложен открытый вариант ASIO SDK, доступный под лицензией GPLv3. Для продвижения VST SDK как открытого проекта запущен отдельный сайт vstdev.org. Поддерживается работа в Linux, Windows и macOS.

Технология VST 3 позволяет создавать кроссплатформенные плагины с реализацией звуковых эффектов и виртуальных музыкальных инструментов, которые можно использовать в различных платформах для создания музыки и цифровой обработки звука. В настоящее время VST является самым распространённым форматом плагинов для программ работы со звуком и, среди прочего поддерживается в открытых, проектах, таких как OBS Studio, Ardour и Audacity. SDK для VST включает реализацию API VST 3, вспомогательную библиотеку классов C++ для упрощения разработки плагинов, обвязки для поддержки форматов плагинов AAX (Avid Audio eXtension), AUv3 (Audio Unit v3) и AU (Audio Unit), набор примеров и тулкит VSTGUI для использования графического интерфейса в плагинах. Помимо изменения модели лицензирования версия VST SDK 3.8 примечательна добавлением экспериментальной поддержки Wayland на платформе Linux.

ASIO SDK включает в себя открытую реализацию протокола ASIO (Audio Stream Input/Output), применяемого для взаимодействия приложений со звуковыми картами. ASIO ориентирован на использование в профессиональных системах для записи и воспроизведения звука с низкими задержками, стабильным качеством и высокой пропускной способностью. Протокол поддерживает такие возможности, как переменная разрядность кодирования (bit depth), переменная частота дискретизации, многоканальные операции и средства синхронизации звукового потока.

Открытие кода ASIO SDK позволит интегрировать поддержку ASIO в открытые проекты, совместимые с лицензией GPLv3. Изменение модели лицензирования стало результатом сотрудничества компании Steinberg с разработчиками открытой системы потокового видеовещания OBS Studio, для которой Steinberg взял на себя роль технического спонсора. Интеграция поддержки ASIO в OBS Studio позволит расширить область применение данного протокола и использовать его не только при создании музыки и обработке звука, но и при организации live-трансляций.

Источник: https://www.opennet.ru/opennews/art.shtml?num=64176

opennet honked 04 Nov 2025 08:00 +0100

Представлен формат изображений AVIF 1.2

После трёх лет разработки опубликована спецификация для формата изображений AVIF 1.2 (AV1 Image Format), использующего технологии внутрикадрового сжатия, применяемые в формате кодирования видео AV1. Контейнер для распространения данных в формате AVIF аналогичен HEIF. Помимо изображений в стандартном динамическом диапазоне (SDR), AVIF поддерживает изображения в расширенном динамическом диапазоне (HDR, High Dynamic Range) и цветовом пространстве Wide-gamut.

В новой версии стандартизирована поддержка механизма "Sample Transform", позволяющего формировать конечное изображение через объединение одного или нескольких вспомогательных изображений и констант, используя математические преобразования над пикселями, тип и параметры которых сохраняются в области с метаданными. Например, данный механизм может применяться для создания изображений с более высокой глубиной цвета из изображений с низкой глубиной цвета, сохраняя при этом обратную совместимость. В библиотеке libavif, предлагающей эталонную реализацию формата AVIF, экспериментальная поддержка "Sample Transform" присутствует с апреля 2024 года.

Источник: https://www.opennet.ru/opennews/art.shtml?num=64175

opennet honked 03 Nov 2025 21:00 +0100

Выпуск языка программирования Nim 2.2.6

Представлен релиз языка системного программирования Nim 2.2.6. Обновление вышло спустя шесть месяцев после релиза версии 2.2.4 и включает 141 коммит с исправлениями ошибок и улучшениями производительности. Nim – статически типизированный компилируемый язык программирования с синтаксисом, вдохновлённым Python, и возможностями метапрограммирования на уровне Lisp. Язык компилируется в C, C++ и JavaScript, обеспечивая производительность на уровне C при выразительности высокоуровневых языков. Код проекта поставляется под лицензией MIT.

Ключевые особенности Nim включают мощную систему макросов, работающих на AST во время компиляции, развитую систему обобщённого программирования с концептами, множественную диспетчеризацию (multiple dispatch), детерминированное управление памятью с поддержкой нескольких стратегий (ARC/ORC, refc, маркировка-и-подметание), встроенную поддержку async/await для асинхронного программирования и FFI для простой интеграции с C/C++/JavaScript. Nim позиционируется как системный язык, подходящий для разработки от встраиваемых систем до веб-серверов, с акцентом на эффективность, безопасность памяти и удобство разработки.

Ключевые изменения:

  • Оптимизация move-семантики для полей объектов. Компилятор научился распознавать возможность применения move-операций при возврате полей объектов. Ранее конструкции вида "return obj.field" приводили к копированию данных, теперь компилятор корректно применяет перемещение:
       proc getField(obj: MyObject): string =
         return obj.field  # Теперь move вместо copy
    

    Это особенно важно для тяжёлых типов данных (строки, последовательности, объекты с ресурсами), где устранение лишнего копирования даёт заметный прирост производительности без изменения кода.

  • Полная переработка closure-итераторов с обработкой исключений. Механизм трансформации замыканий-итераторов полностью переписан, что кардинально улучшило стабильность async-кода с обработкой исключений. Исправлены критические проблемы, включая SIGSEGV при использовании try/except не на верхнем уровне:
       iterator problematicIterator(): int {.closure.} =
         for i in 0..10:
           try:
             if i == 5:
               raise newException(ValueError, "test")
             yield i
           except ValueError:
             discard  # Ранее вызывало SIGSEGV
    

    Также решена проблема с некорректным пробросом исключений в finally-блоках внутри closure-итераторов.

  • Исправления, связанные с управлением памятью
    • Устранена фундаментальная проблема в сборщике мусора при обработке циклических структур данных, которая могла приводить к выводу ошибки "Illegal storage access". Проблема существовала с момента создания языка и проявлялась при сложных графах объектов с взаимными ссылками.
    • Исправлен некорректный порядок уничтожения объектов, который мог приводить к обращению к уже освобождённой памяти:
         type
           Resource = object
             data: ptr Data
           Container = object
             resource: Resource
             other: OtherResource
      
         # Теперь деструкторы вызываются в правильном порядке:
         # сначала other, затем resource
      
    • Сборщик ORC ошибочно помечал окружения некоторых замыканий как циклические, что приводило к задержкам освобождения памяти или утечкам. Теперь анализ циклов работает корректно.
    • Исправлена утечка сокетов в asyncnet при ошибках согласования TLS-соединения:
         proc handleClient() {.async.} =
           var socket = await server.accept()
           try:
             await socket.setupSSL()  # При ошибке здесь socket теперь корректно закрывается
           except SSLError:
             discard  # Сокет больше не утекает
      
  • Критические исправления в компиляторе.
    • Устранена регрессия, при которой глобальные переменные, объявленные внутри процедур с static-параметрами, переинициализировались при каждом вызове:
         proc test[N: static int]() =
           var global {.global.}: array[N, int]
           global[0] += 1
           echo global[0]
      
         test[5]()  # Выводило: 1
         test[5]()  # Должно: 2, но выводило: 1 (было переинициализировано)
      
    • Исправлена генерация кода для глобальных переменных в рекурсивных функциях, которая приводила к неопределённому поведению.
    • Решена древняя проблема генерации некорректного C-кода при использовании конструкторов для глобальных переменных внутри конвертеров:
         converter toInt(x: MyType): int =
           let global {.global.} = MyType()  # Генерировал невалидный C-код
           result = global.value
      
    • Устранено падение компилятора при генерации исключений типа Defect и использовании doAssert в определённых контекстах.
  • Улучшения в системе типов
    • Исправлена невозможность возврата lent-значений из case/if выражений:
         proc getBest(a, b: string): lent string =
           if a.len > b.len:
             return a  # Ранее: ошибка компиляции
           else:
             return b
      
    • Устранена проблема с некорректным сохранением значений lent-полей в обобщённых типах:
         type
           Wrapper[T] = object
             data: lent T
      
         proc process[T](w: Wrapper[T]) =
           echo w.data  # Значение теперь корректно сохраняется
      
    • Восстановлена проверка инициализации переменной result для типов с requiresInit, которая была сломана в версии 2.2: type MustInit {.requiresInit.} = object value: int proc test(): MustInit = discard # Теперь корректно выдаёт ошибку о неинициализированном result
    • Исправлено игнорирование некопируемости (".noCopy") базового типа:
         type
           Base {.noCopy.} = object
           Derived = object of Base
      
         var a: Derived
         var b = a  # Теперь корректно запрещено
      
  • Оптимизации производительности
    • Ускорение оператора "@" для тривиальных типов: устранена критическая деградация производительности при создании последовательностей из массивов простых типов:
         let arr = [1, 2, 3, 4, 5]
         let s = @arr  # Было крайне медленно, теперь оптимально
      
    • Оптимизация vmgen.sameConstant: значительно ускорена компиляция за счёт оптимизации сравнения констант в виртуальной машине компилятора и сокращения операций выделения памяти.
    • Разыменование результата cast в одиночном выражении больше не вызывает ненужное копирование:
         let data = cast[ptr MyType](address)[]  # Теперь без копирования
      
  • Backend-специфичные исправления
    • JavaScript
      • =destroy для не-var типов: исправлена генерация деструкторов, которая ранее приводила к ошибкам компиляции.
      • cast[char] для значений › 255: теперь корректно выполняется усечение, как в C-backend.
      • Концепты в varargs: устранён вывод ошибки "internal error" при передаче концептов в varargs.
    • C++: Восстановлена L-valueness для совместимых типов что было сломано в регрессии между версиями 2.2.2 и 2.2.4:
         # nim cpp
         var x: CppCompatibleType
         takeRef(x)  # Снова работает как lvalue
      
    • C (refc)
      • pthread на некоторых платформах: исправлена генерация кода для pthread_mutex_t с использованием .abi;
      • Обобщённые типы с GC-памятью: устранена генерация некорректного C-кода для generic-типов, содержащих управляемую память;
  • Виртуальная машина
    • Глобальные переменные и присваивания: множественные исправления работы с глобальными переменными на этапе компиляции.
    • Case-объекты из compileTime proc: исправлена передача вариантных объектов как static-параметров.
    • repr для длинных строк под refc: устранён RangeDefect при использовании repr.
  • Исправления в стандартной библиотеке
    • В strutils.formatSize исправлена работа с большими значениями, близкими к int64.high:
         echo formatSize(9223372036854775807)  # Теперь корректный результат
      
    • В deques восстановлена совместимость поведения итератора items между версиями 2.0.16 и 2.2.0.
    • В lists.SinglyLinkedList.remove устранён AssertionDefect при удалении элементов из односвязного списка.
    • В tables.withValue исправлено условие проверки в макросе withValue для неизменяемых таблиц.
  • Прагмы и области видимости
    • В "{.push raises: [].}" исправлено некорректное игнорирование лексических областей видимости для push-прагм с raises.
    • Устранён эффект «утечки» отключения предупреждений за пределы pragma-блоков:
         {.push warning[UnusedImport]: off.}
         import module1
         {.pop.}
         import module2  # Предупреждения теперь корректно включены
      
  • Прочие важные исправления
    • Сравнение cstring: добавлены отсутствовавшие операторы "‹" и "cmp" для cstring.
    • Проверка диапазонов float: включена корректная проверка диапазонов для чисел с плавающей точкой
    • filterIt и rvalue: исправлено ошибочное возвращение rvalue вместо lvalue
    • Устранён FieldDefect при сравнении указателей на этапе компиляции.
    • hasCustomPragma после копирования typedesc: восстановлена работоспособность после копирования дескрипторов типов.
    • nim doc и приватные поля: исправлено использование комментариев от приватных полей для публичных.


Источник: https://www.opennet.ru/opennews/art.shtml?num=64173

opennet honked 03 Nov 2025 19:00 +0100

Выпуск дистрибутива Devuan 6.0, форка Debian 13 без systemd

Представлен выпуск дистрибутива Devuan 6.0 "Excalibur", форка Debian GNU/Linux, поставляемого без системного менеджера systemd. Новая ветка примечательна переходом на пакетную базу Debian 13. Для загрузки подготовлены Live-сборки (1.7 ГБ) и установочные iso-образы для архитектуры amd64. Пакеты собираются для архитектур i386, amd64, armel, armhf, arm64, ppc64el и riscv64.

Проектом поддерживаются ответвления для около 400 пакетов Debian, которые модифицированы для избавления от привязок к systemd, ребрендинга или адаптации для особенностей инфраструктуры Devuan. Два пакета (devuan-baseconf, jenkins-debian-glue-buildenv-devuan) присутствуют только в Devuan и связаны с настройкой репозиториев и работой сборочной системы. В остальном Devuan полностью совместим с Debian и может использоваться в качестве основы для создания специализированных сборок Debian без systemd. Специфичные для Devuan пакеты можно загрузить из репозитория packages.devuan.org.

Рабочий стол по умолчанию основан на Xfce и дисплейном менеджере Slim. Опционально доступны для установки KDE, MATE, Cinnamon, LXQt и Sway. Вместо systemd поставляется классическая система инициализации SysVinit, а также опционально системы openrc и runit. Предусмотрена возможность работы без D-Bus, которая позволяет создавать минималистичные конфигурации рабочего стола на базе оконных менеджеров blackbox, fluxbox, fvwm, fvwm-crystal и openbox. Для настройки сети предлагается вариант конфигуратора NetworkManager, не привязанный к systemd. Вместо systemd-udev задействован eudev, форк udev от проекта Gentoo. Для управления пользовательскими сеансами в Xfce и MATE используется consolekit, а в остальных рабочих столах применяется elogind, вариант logind, не привязанный к systemd.

Изменения в Devuan 6 в основном сводятся к переходу на пакетную базу Debian 13 и ядро Linux 6.12, а также внесению изменений для обеспечения работы систем инициализации sysvinit, runit и OpenRC. Возвращена поддержка регистрации сеансов в файле /run/utmp, так как время сопровождения дистрибутива завершиться раньше, чем начнёт проявляться проблема 2038 года. Как и в Debian выполнен перенос исполняемых файлов и библиотек из корневого раздела в раздел /usr (/bin, /sbin и /lib* оформлены как символические ссылки на соответствующие каталоги внутри /usr). Прекращено формирование установочных сборок и пакетов с ядром для 32-разрядных систем x86, но сохранено наличие официально поддерживаемого репозитория пакетов и multi-arch-репозитория. Добавлены сборки для архитектуры riscv64.

Источник: https://www.opennet.ru/opennews/art.shtml?num=64172

opennet honked 03 Nov 2025 10:00 +0100

Доступен встраиваемый движок хранения TidesDB 1.0, поддерживающий ACID-транзакции

Опубликован первый стабильный релиз проекта TidesDB, развивающего библиотеку для хранения данных в формате ключ/значение. Проект может использоваться как обособленно запускаемый движок или для встраивания в приложения. Из ключевых возможностей отмечается поддержка ACID-транзакций и оптимизация для эффективного хранения данных на Flash-накопителях и в оперативной памяти. Код написан на языке Си и распространяется под лицензией MPL 2.0. Обвязки подготовлены для языков C++, Go, Java, Python, Rust, Lua и JavaScript.

Для хранения данных задействована структура LSM-tree (журнально-структурированное дерево со слиянием), обеспечивающее высокую производительность не только при чтении, но и при выполнении операций записи и изменения данных. Операции чтения не блокируют запись и чтение данных, а операции записи блокируют только семейство столбцов в котором выполняется запись. Для дополнительного ускорения чтения поддерживаются индексы и кэширование на базе bloom-фильтров (позволяют проверить вхождение во множество, допуская ложное определение отсутствующего элемента, но исключая пропуск существующего элемента).

Имеется полная поддержка ACID-транзакций, позволяющих атомарно вносить изменения, охватывающие семейства столбцов, и при необходимости атомарно откатывать операции. Данные могут хранится в сжатом виде с выбором алгоритма сжатия в привязке к семейству столбцов. Возможно выставление блокировок на уровне отдельных семейств столбцов и упаковки хранилища в параллельном режиме без блокировки выполнения операций с БД.

Основные возможности:

  • Поддержка семейств столбцов (Column Families) - изолированных наборов данных в формате ключ/значения. Для каждого семейства столбцов используются свои memtable, SSTable и WAL-лог.
  • ACID-транзакции, охватывающие несколько операций с семействами столбцов.
  • Оптимизация для параллельного доступа к данным.
  • Поддержка двунаправленных итераторов, позволяющих перебирать пары ключ/значение вперёд или назад относительно выбранной позиции в хранилище, используя изначально заданный метод сортировки.
  • Поддержка добавления своих функций сравнения ключей. Наличие встроенных функций сравнения memcmp, string и numeric.
  • Ведение лога операций (WAL, Write-Ahead Log) и автоматическое восстановление memtable (хранилище в оперативной памяти) из данного лога при запуске.
  • Использование Bloom-фильтров для минимизации обращений к накопителю за счёт проверки наличия ключа до чтения из SSTable (постоянное хранилище).
  • Поддержка алгоритмов Snappy, LZ4 и ZSTD для сжатия записей в хранилище SSTable и WAL-логе.
  • Возможность определения времени жизни записей (TTL) и автоматического исключения просроченных записей.
  • Три режима синхронизации данных в ОЗУ с постоянным хранилищем: NONE (самый быстрый), BACKGROUND (сбалансированный), FULL (наиболее надёжный).
  • Возможность настройки размера memtable, методов сжатия, bloom-фильтров, режима синхронизации и параметров упаковки для каждого семейства столбцов.
  • Простой C API, возвращающий 0 при успешном выполнении операции и -1 при ошибке.
  • Использование SBHA (Sorted Binary Hash Array) для быстрого поиска данных в SSTable, позволяющий определять смещения блоков с ключами без полного сканирования.
  • Компактный переносимый бинарный формат представления базы, поддерживающий версионирование.
  • Встроенные механизмы контроля целостности, определения повреждений данных и восстановления.


Источник: https://www.opennet.ru/opennews/art.shtml?num=64171

opennet honked 03 Nov 2025 09:00 +0100

Релиз среды разработки Qt Creator 18

Состоялся выпуск интегрированной среды разработки Qt Creator 18, предназначенной для создания кроссплатформенных приложений с использованием библиотеки Qt. Поддерживается как разработка классических программ на языке C++, так и использование языка QML, в котором для определения сценариев используется JavaScript, а структура и параметры элементов интерфейса задаются CSS-подобными блоками. Готовые сборки сформированы для Linux, Windows и maсOS.

В новой версии:

  • Добавлена экспериментальная поддержка спецификации Development Containers для автоматизации настройки контейнеров с окружением для разработки проекта. Qt Creator теперь определяет наличие файла "devcontainer.json" в каталоге с проектом, создаёт на его основе Docker-контейнер и настраивает взаимодействие с ним из приложения.
  • На страницу первого запуска (Welcome) добавлена вкладка "Overview" с подборкой содержимого из других вкладок и рекомендованным списком заметок, руководств и примеров.
  • Изменено оформление уведомлений, которые теперь выводятся во всплывающих окнах. Для возвращения показа уведомлений в форме встроенного баннера можно изменить настройку "Environment > Interface > Prefer banner style".
  • В редакторе кода реализована опциональная возможность использования вкладок для быстрого переключения между файлами. Режим активируется через настройку "Environment > Interface > Use tabbed editors".
  • В модель кода C++ добавлена поддержка новых возможностей языка. Для C++ также реализованы быстрые правки для удаления фигурных скобок и определения статических полей. Инструментарий Clangd/LLVM обновлён до версии 21.1.
  • Для QML обеспечена загрузка и использование самой свежей версии QML Language Server.
  • Файлы ".user" со специфичными для Qt Creator настройками проекта перенесены в подкаталог ".qtcreator/".
  • В режиме проекта реализована возможность отображения только kit-наборов (привязки к разным сборочным инструментариям и версиям Qt), применимых к проекту или уже используемых в проекте. Страница "Run" разделена на страницы с настройками развёртывания ("Deploy Settings") и запуска ("Run Settings"), которые вместе с настройками сборки ("Build Settings") перемещены из страницы выбора kit-наборов во вкладки в окне просмотра контента. Добавлена опция для синхронизации настроек запуска с одним kit-набором или между всеми kit-наборами проекта.
  • Для проектов, использующих CMake, добавлена поддержка преднастроенных тестов (Test Preset). В Locator добавлен фильтр "ct" для запуска тестов на базе CTest.
  • Добавлена конфигурация для использования на удалённых Linux-устройствах различных утилит, таких как CMake, clangd, rsync и qmake. Добавлена настройка Auto-connect для включения автоматического подключения к удалённому устройству при запуске.
  • В редакторе Git-коммитов расширены доступные действия с файлами, например, добавлена поддержка прямого добавления файлов в ".gitignore".


Источник: https://www.opennet.ru/opennews/art.shtml?num=64167

opennet honked 02 Nov 2025 21:00 +0100

Выпуск видеоредактора Shotcut 25.10

Опубликован релиз видеоредактора Shotcut 25.10, развиваемого автором проекта MLT и использующего данный фреймворк для редактирования видео. Поддержка форматов видео и звука реализована через FFmpeg. Возможно использование плагинов с реализацией видео и аудио эффектов, совместимых с Frei0r и LADSPA. Из особенностей Shotcut можно отметить возможность многотрекового редактирования с компоновкой видео из фрагментов в различных исходных форматах, без необходимости их предварительного импортирования или перекодирования. Имеются встроенные средства для создания скринкастов, обработки изображения с web-камеры и приёма потокового видео. Код написан на C++ с использованием фреймворка Qt и распространяется под лицензией GPLv3. Готовые сборки доступны для Linux (AppImage, flatpak и snap), macOS и Windows.

Среди изменений в новом выпуске:

  • Добавлена возможность генерации изображения или видео из HTML. Например, при помощи новой функции формат HTML можно использовать для создания шаблонов c текстом, накладываемым на видео. Для обработки HTML используется Chrome или Chromium.
  • В инструменты для работы с заметками и субтитрами добавлена функция синтеза речи, позволяющая озвучить текст. Для синтеза речи задействован движок Kokorodoki с моделью Kokoro (русский язык не поддерживается).
  • Добавлена поддержка создания скриншотов и скринкастов для их добавления к видео. В Linux запись содержимого экрана осуществляется при помощи FFmpeg на системах с X11 и GNOME Shell, KDE Spectacle или OBS на системах с Wayland.
  • Добавлен видеоэффект "Печатная машинка" и генератор видео с изображением процесса набора текста.

  • В меню свойств добавлены пункты: "Открыть с помощью" для редактирования изображений и звука во внешнем приложении; "Перезагрузить" для повторного открытия файла после его изменения на диске.
  • Для работы теперь требуется как минимум версия glibc 2.35 (Ubuntu 22.04). FFmpeg обновлён до ветки 8. Обновлены библиотеки SVT-AV1, libaom, dav1d, libvpx, libwebp и whisper.cpp.


Источник: https://www.opennet.ru/opennews/art.shtml?num=64166