Профиль: Аноним (вход | регистрация) неRU opennet.me  
OpenNET

[ новости /+++ | форум | теги |    ]

·23.09 Доступна децентрализованная система отслеживания ошибок git-bug 0.11 (6 +2)
  Опубликован выпуск проекта git-bug 0.11.0, развивающего систему отслеживания ошибок, хранящую информацию об проблемах и комментарии в форме объектов в репозитории Git. По аналогии с изменениями в исходном коде инструментарий git-bug позволяет помещать информацию об отслеживаемых ошибках во внешние репозитории, используя операцию push, а также извлекать данные из внешнего в локальный репозиторий операцией pull. Код проекта написан на языке Go и распространяется под лицензией GPLv3

Проект git-bug использует обычный репозиторий Git для хранения описаний проблем, базы пользователей и комментариев в версионированном виде. Децентрализованная архитектура Git позволяет работать в offline-режиме с периодической синхронизацией изменений. Из возможностей выделяется поддержка работы с сообщениями об ошибках через командную строку, консольный интерфейс или web-интерфейс, и очень быстрое выполнение операций поиска и навигации по сообщениям об ошибках. Предоставляются прослойки для синхронизации с сервисами отслеживания ошибок GitHub, GitLab, Jira и Launchpad.

Основные новшества:

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

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

  • Решены проблемы в реализации кэша, приводившие к состояниям гонки, рассогласованию данных и неатомарной обработке коммитов.
  • В API добавлена поддержка подписки на события через GraphQL, позволяющая получать сведений об изменениях без периодического опроса состояния.
  • Для сборки релизов задействован инструментарий GoReleaser, позволивший сформировать пакеты в форматах deb, rpm, apk и pkg (Arch Linux), а также задействовать верификацию загрузок по цифровой подписи.

  1. Главная ссылка к новости
  2. OpenNews: Проект gittuf развивает систему криптографической защиты репозиториев Git
  3. OpenNews: В рамках проекта git-annex assistant развивается аналог Dropbox на базе Git
  4. OpenNews: Представлен Seafile, Dropbox-подобный сервер хранения на основе технологий Git
  5. OpenNews: Анонсирован GitTorrent для доступа к Git-репозиториям при помощи BitTorrent
  6. OpenNews: Выпуск Git 2.55 c включением по умолчанию поддержки Rust
Обсуждение (6 +2) | Тип: Программы |


·23.09 Дистрибутив Peppermint OS переходит с X.Org Server на XLibre (33 +7)
  Разработчики Linux-дистрибутива Peppermint OS, построенного на пакетной базе Debian GNU/Linux и предлагающего пользовательское окружение на основе рабочего стола Xfce и файлового менеджера Thunar, анонсировали переход на использование по умолчанию XLibre, форка X.Org Server. XLibre будет задействован в следующем обновлении iso-образов PeppermintOS, до публикации которых для тестирования предложены экспериментальные сборки.

В обозримом будущем Peppermint OS планирует оставаться на стеке X11, так как в среде рабочего стола Xfce намерены продолжать полноценную поддержку X11. По мнению разработчиков Peppermint OS, проект XLibre отлично подходит для пользователей, предпочитающих использовать X11 вместо Wayland, так как в нём продолжена работа по исправлению ошибок, сопровождению, чистке и модернизации оригинальной кодовой базы X.Org Server.

  1. Главная ссылка к новости
  2. OpenNews: Дистрибутив Artix вернулся с XLibre на X.Org Server
  3. OpenNews: Выпуск проекта XLibre XServer 25.2.0, развивающего форк X.Org Server
  4. OpenNews: Представлен GTK2-NG, форк библиотеки GTK2
  5. OpenNews: Проекты Artix Linux и GhostBSD переходят с X.Org Server на XLibre
  6. OpenNews: Сформирован выпуск Linux-дистрибутива Peppermint OS на базе Debian
Обсуждение (33 +7) | Тип: Программы |


·23.09 Выпуск музыкального проигрывателя Fooyin 0.13 (117 +6)
  Состоялся выпуск музыкального проигрывателя Fooyin 0.13, нацеленного на предоставление расширенных возможностей по настройке и адаптации программы под свои предпочтения. В Fooyin предложен набор виджетов с реализацией различных режимов управления музыкальной коллекцией и воспроизведения музыки. Дополнительные возможности могут подключаться в форме плагинов. Для настройки интерфейса предлагается конфигуратор раскладки элементов на экране. Проект написан на языке С++ с использованием библиотеки Qt и распространяется под лицензией GPLv3. Готовые пакеты сформированы для Fedora, Debian и Ubuntu, а также в формате flatpak.

Поддерживается воспроизведение файлов в формате FLAC, MP3, MP4, Vorbis, Opus, WavPack, WAV, AIFF, Musepack, Monkey's Audio, VGM и различных трекерных форматов. Среди возможностей Fooyin: извлечение сведений о порядке и длительности звуковых треков из CUE-файлов, воспроизведение без пауз (gapless), создание, импорт и экспорт списков воспроизведения в форматах M3U/M3U8, фильтрация содержимого музыкальной библиотеки по любым полям, древовидное представление коллекции, редактирование тегов, визуализации при помощи спектрограмм, навигация на уровне каталогов в файловой системе с возможностью прямого воспроизведения выбранных файлов. Для внешнего управления проигрывателем может использоваться D-Bus-интерфейс MPRIS (Media Player Remote Interfacing Specification).

Наиболее заметные улучшения:

  • Добавлена поддержка воспроизведения и риппинга звуковых CD. Реализована проверка целостности файлов и верификация точности оцифровки всего диска. Предложены два режима воспроизведения CD - с использованием плейлистов и очереди треков.
  • В музыкальной библиотеке появилась поддержка сохраняемых фильтров и реализован вывод статистки популярности композиций с возможностью синхронизации с Last.fm. Реализован поиск метаданных MusicBrainz.
  • Добавлена поддержка глобальных комбинаций клавиш.
  • Добавлены настраиваемые пользователем команды "Run Services" для запуска внешних приложений.
  • Предоставлена возможность управления громкостью, зацикливанием и повторным воспроизведением через интерфейс командной строки.
  • Добавлена настройка для блокировки перевода экрана в спящий режим.

  1. Главная ссылка к новости
  2. OpenNews: Выпуск музыкального проигрывателя Qmmp 2.4
  3. OpenNews: Выпуск музыкального проигрывателя Rhythmbox 3.5
  4. OpenNews: Выпуск музыкального проигрывателя Audacious 4.6
  5. OpenNews: Опубликован музыкальный проигрыватель Nocturne 1.0
  6. OpenNews: Новая версия музыкального проигрывателя DeaDBeeF 1.10.1


·23.09 Первый выпуск scan, библиотеки разбора текста для C++ с построением конечного автомата при компиляции (43 +8)
  Опубликован первый выпуск библиотеки scan (0.1.0), разбирающей текст в значения по шаблону, известному на этапе компиляции. Шаблон или формат записывается как аргумент шаблона C++ и превращается при компиляции в размеченный детерминированный конечный автомат (tagged deterministic finite automaton, TDFA), обход которого разворачивается по состояниям в код на этапе компиляции с использованием шаблонов C++. Результатом выполнения является значение запрошенного типа. Код проекта написан на C++23 и распространяется под лицензией GPLv3.

   import scan;

   // Совпадает ли вся строка. Каждая точка входа - ещё и адаптор диапазона.
   scan::match<"[a-z]+@[a-z.]+">(address);
   address | scan::match<"[a-z]+@[a-z.]+">;

   // С группами.
   const auto found = scan::match<"([0-9]+)-([a-z]+)">("42-abc");
   found.get<1>().to_view();            // "42"

   // Начало строки, занятое шаблоном, и первое совпадение где угодно.
   scan::starts_with<"[a-z]+">("abc123").whole().to_view();   // "abc"
   scan::search<"[0-9]+">("id=4210x").to_view();              // "4210"

   // Все совпадения и куски между ними - ленивые представления.
   for (const auto& one : text | scan::search_all<"[a-z]+">) { ... }
   const auto fields = "a,bb,,ccc" | scan::split<","> | std::ranges::to<std::vector>();

   // Значения, а не текст.
   struct row { int id; std::string_view name; };
   const row one = scan::scan<"{},{[a-z]+}">(line);

   // Список, сумма типов, вложенная форма.
   struct all { std::vector<int> values; std::variant<int, std::string_view> tail; };
   const all got = scan::scan<"{{}{*,?}} {{[0-9]+}|{[a-z]+}}">("1,2,3 abc");

   // Начало ввода и то, что от него осталось.
   const auto [value, rest] = scan::scan_prefix<"{},{}">(line).take<point>();

   // По записи за раз, из чего угодно.
   for (const row& one : scan::each<"{},{[a-z]+}\\n">(text).of<row>()) { ... }

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


   std::istringstream source("set speed 42\\nset gain 7\\n");
   source > std::noskipws;
   struct command { scan::held<16> name; int value; };
   for (const command& one :
        scan::each<"set {[a-z]+} {[0-9]+}\\n">(std::views::istream<char>(source))
            .of<command>()) { ... }
Производительность.

Замеры проведены на Ryzen 9 9950X, clang 22.1.8 с libc++, -O3 -march=native,LTO. Тридцать две записи за проход, медиана семи проходов.


   "([a-z]+),([a-z]+),([a-z]+),([a-z]+),([a-z]+)"    "alpha,bravo,charlie,delta,echo"

     scan::scan<f>.sentinel()      477 нс
     re2c                          554 нс
     scan::scan<f>                 659 нс
     CTRE                          717 нс
     RE2                         15986 нс

   те же пять полей, по двести букв каждое

     scan::scan<f>.sentinel()     57.8 нс
     re2c                          637 нс
     CTRE                          692 нс
     RE2                         11751 нс

   "first.last@subdomain.example.com"   распознавание, ничего не извлекается

     scan::match<p>.sentinel().scalar()   436 нс
     scan::match<p>.scalar()              545 нс
     re2c                                1186 нс
     RE2                                 2616 нс
     CTRE                               14339 нс

Свёртка групп по ходу разбора

Типу сообщается, к какой из его групп относится очередной символ, и вычисление выполняется на месте: ни одна итерация цикла не сохраняется, ни одной подстроки не создаётся.


   struct tally { unsigned long value = 0; };
   struct reading { tally number; std::string_view tail; };

   template <>
   struct scan::scanner<tally> {
     static constexpr std::string_view pattern() { return R"(\\(((_+)(X|Y)*)*\\))"; }
     struct state_type { unsigned long total = 0; unsigned place = 0, marks = 0; };
     static constexpr state_type begin_groups() { return {}; }
     static constexpr void opened_group(state_type& one, scan::group_at<0>) {
       one.place = 0; one.marks = 0;
     }
     static constexpr void closed_group(state_type& one, scan::group_at<0>) {
       unsigned long weight = 1;
       for (unsigned step = 1; step < one.place; ++step) weight *= 10;
       one.total += weight * one.marks;
     }
     static constexpr void push_group(state_type& one, scan::group_at<1>, char) {
       ++one.place;
     }
     static constexpr void push_group(state_type& one, scan::group_at<2>, char letter) {
       one.marks += letter == 'Y' ? 2u : 1u;
     }
     static constexpr tally finish_groups(state_type one) { return {one.total}; }
   };

   const reading got =
       scan::scan<"value={}{[a-z]*}">("value=(__X_XX)abcdefgh").of<reading>();
   // got.number.value == 12, got.tail == "abcdefgh"
heap scan::scan<f>.scalar() написанное вручную scan::scan<f>
10 141 ns 41.4 ns 42.5 ns 170 ns
100 439 ns 341 ns 392 ns 1176 ns
1000 3314 ns 3170 ns 3797 ns 11887 ns


Контексты и аллокаторы

Любой объект вызывающей стороны - аллокатор, пул, арену, что угодно ещё - можно передать в тот вызов, который создаёт значение. Тип контекста при этом не теряется: состояние сканера и каждый его хук могут быть шаблонами по нему, так что в сканере не упомянут ни один тип вызывающей стороны.


   struct arena {
     std::pmr::memory_resource* where = nullptr;
     std::pmr::memory_resource* resource() const { return where; }
   };

   struct numbers { std::pmr::vector<int> values; };
   struct both { numbers left; numbers right; };

   template <>
   struct scan::scanner<numbers> {
     static constexpr std::string_view pattern() { return "([0-9]+)(?:,([0-9]+))*"; }

     template <class Told>
     struct state { std::pmr::vector<int> values; int running = 0; };

     static state<scan::default_context_t> begin_groups() { return {}; }

     template <class Told>
       requires requires(const Told& one) { one.resource(); }
     static state<Told> begin_groups(const Told& told) {
       return {std::pmr::vector<int>(told.resource()), 0};
     }

     template <class Told, std::size_t Which>
     static void push_group(state<Told>& one, scan::group_at<Which>, char digit) {
       one.running = one.running * 10 + (digit - '0');
     }
     template <class Told, std::size_t Which>
     static void closed_group(state<Told>& one, scan::group_at<Which>) {
       one.values.push_back(one.running);
       one.running = 0;
     }
     template <class Told>
       static numbers finish_groups(state<Told> one) { return {std::move(one.values)}; }
   };

   std::pmr::monotonic_buffer_resource bytes;
   const arena mine{&bytes};

   scan::scan<"{} {}">(text).of<both>(mine);                            // один на оба места
   scan::scan<"{} {}">(text).of<both>(mine, scan::default_context);     // по одному на место
   scan::scan<"{} {}">(text).of<both>({mine, scan::default_context});   // то же в скобках
   const both got = scan::scan<"{} {}">(text).with(mine);

   // Контексту не обязательно быть своим типом: аллокатор доходит до того,
   // что строит чтение.
   struct two { std::pmr::string name; std::pmr::string tail; };
   const two kept = scan::scan<"{[a-z]+} {[a-z]+}">(text).of<(
       std::pmr::polymorphic_allocator<>(&bytes));

Хук получает сам объект вызывающей стороны, а не копию, поэтому состояние может хранить его адрес: контекст живёт столько же, сколько вызов, а всё чтение происходит внутри этого вызова.

Прочие особенности

  • Два слоя: слой шаблонов (match, starts_with, search, search_all, split) и слой форматов, где "{}" - поле, а значение места определяют поля самого типа.
  • Правило разрешения неоднозначности - leftmost-first, как в Perl, RE2 и CTRE.
  • Всё перечисленное работает и в константных выражениях.
  • Нет lookaround, обратных ссылок и свойств Unicode; шаблоны работают с байтами.
  • Не поддерживаются шаблоны, известные только во время выполнения.
Сборка

Собирается в clang и GCC. Модули C++ не обязательны: доступны заголовочные файлы (include/), которые генерирует из тех же модулей утилита demodulizer - каждый push в main пересобирает, линкует и коммитит их обратно. Единственная зависимость, Boost.PFR, не нужна при включённых binding packs из C++26.


   FetchContent_Declare(scan
     GIT_REPOSITORY https://github.com/j4niwzis/scan.git
     GIT_TAG        v0.1.0)
   FetchContent_MakeAvailable(scan)
   target_link_libraries(mine PRIVATE scan::scan)

  1. Главная ссылка к новости
Обсуждение (43 +8) | Автор: j4niwzis | Тип: Программы |


·23.09 Выпуск системного менеджера systemd 262 (83 –17)
  После трёх месяцев разработки доступен релиз системного менеджера systemd 262. В новой версии реализовано встраивание в процесс минимального набора unit-файлов, обеспечена поддержка сборки со статическим связыванием, проведена интеграция c dm-clone для клонирования блочных устройств, добавлено ведение БД установленных файлов в systemd-sysupdate и обеспечена криптографическая верификация отчётов systemd-report.

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

  • В исполняемый файл системного менеджера встроен набор базовых unit-файлов (basic.target, sysinit.target, multi-user.target, reboot.target, shutdown.target, systemd-poweroff.service и т.п.), которые используются при невозможности загрузить unit-файлы с диска. Подобное встраивание позволяет запускать контейнеры с init-процессом (PID1) на базе systemd без установки unit-файлов.
  • Добавлена поддержка сборки в форме одного статически скомпонованного исполняемого файла, который может применяться для инициализации и запуска сервисов в контейнерах с минимальной начинкой. Для сборки со статическим связыванием при запуске meson следует указать флаги: "--default-library=static --prefer-static -Dbuild-static=true -Dsystemd-multicall-binary=true".
  • Интегрирована поддержка модуля ядра dm-clone, позволяющего на основе доступного в режиме только для чтения блочного устройства создать его клон, допускающий запись. Настройки из /etc/clonetab обрабатываются systemd-clonesetup-generator и сохраняются в форме юнитов systemd-clonesetup@.service, привязанных к clonesetup.target. Для создания и удаления клонов блочных устройств добавлена утилита systemd-clonesetup.
  • Расширены возможности инструментария systemd-sysupdate, предназначенного для автоматического определения, загрузки и установки обновлений с использованием атомарного механизма замены разделов, файлов или каталогов (используются два независимых раздела/файла/каталога, на одном из которых находится текущий работающий ресурс, а на другом устанавливается очередное обновление, после чего разделы/файлы/каталоги меняются местами). Реализовано поддержание БД с информацией о всех установленных файлах. Добавлена команда "systemd-sysupdate cleanup" для удаления файлов, ставших лишними после обновления системы или не соответствующих текущему шаблону конфигурации. Добавлены команды "systemd-sysupdate enable-feature/disable-feature/enable-component/disable-component" для управления включением функциональности и компонентов. Реализована концепция рекомендуемых компонентов, например, командой "systemd-sysupdate enable-component --component-suggested" могут быть включены драйверы, необходимые для работы имеющегося оборудования. В команду "systemd-sysupdate update" добавлена опция "--component-all" для обновления разом всех компонентов.
  • В systemd-report добавлена опция "--sign=", реализующая возможность заверения цифровой подписью отчётов, выдаваемых командами "generate" и "upload". Предложены три бэкенда для заверения отчётов: systemd-report-sign-plain (Ed25519), systemd-report-sign-tsm (configfs TSM) и systemd-report-sign-tpm2 (TPM2 PCR).


  • Для сглаживания нагрузки в случае массового перезапуска сервисов после сбоев предложен параметр RestartRandomizedDelaySec, добавляющий случайную задержку перед автоматическим перезапуском сервиса, ограниченную заданными рамками.
  • В slice-юниты добавлен параметр ActivatingConcurrencyMax для ограничения максимального числа одновременно активированных юнитов в иерархии.
  • Для сервисов реализован параметр LUOSession, предназначенный для создания сеансов Live Update Orchestrator, применяемых для обновления ядра в Live-режиме без остановки работы и не теряя состояние системы, устройств и процессов.
  • В socket-юнитах реализованы параметры XAttrEntryPoint, XAttrListen и XAttrAccept, позволяющие прикреплять к UNIX-сокетам расширенные атрибуты (xattr) для их маркировки.
  • Для автоматического назначения легко запоминаемых имён хостов (/etc/hostname) реализован новый символ подстановки "$", заменяемый на элемент из списка слов, выбранный через хэширование с привязкой к идентификатору системы.
  • В утилиту run0 добавлены sudo-совместимые опции -k/--reset-timestamp, -K/--remove-timestamp и -v/--validate для отзыва или обновления временной авторизации, выполненной через polkit.
  • В утилиту systemd-escape добавлена опция "--stdin" для чтения строк из стандартного ввода.
  • В vconsole добавлена переменная окружения FONT_SCALE для настройки уровня масштабирования шрифтов по аналогии с параметром ядра vconsole.font_scale (из значений пока поддерживается только 100% и 200%).
  • Во все команды, поддерживающие опцию "--help", добавлена опция "--introspect-cli" для вывода подсказки в формате JSON для упрощения автоматизации проверки наличия требуемых опций из надстроек и скриптов.
  • При аутентификации с использованием токенов FIDO2 обеспечен показ счётчика оставшихся попыток введения PIN-кода.
  • В systemd-networkd в секции "[Match]" файлов .link, .network и .netdev добавлена проверка MachineTag, позволяющая привязать настройки сети к наличию или отсутствию определённых тегов. В команду "networkctl reload" добавлена опция "--no-reconfigure" для перезагрузки файлов .network и .netdev с диска без перенастройки существующих сетевых линков. В файлах .network в параметрах IPoIB, IPVLAN, IPVTAP, MACsec, MACVLAN, MACVTAP, Tunnel, VLAN, VXLAN и Xfrm разрешено указывать несколько имён сетевых устройств, разделённых пробелом.
  • В systemd-journald механизм FSS (Forward Secure Sealing), позволяющий гарантировать неизменность логов, переведён на использование криптофункций из библиотеки OpenSSL вместо libgcrypt. Библиотека libsystemd больше не связывается с libgcrypt.
  • В утилиту systemd-sysctl добавлена опция "--verify", при которой значение параметра sysctl читается после выставления и сверяется с исходным значением для проверки было ли применено изменение. Добавлены опции "--save=FILENAME" и "--revert=FILENAME" для сохранения и восстановления настроек sysctl, размещённых в каталоге /run/sysctl.d/.
  • Добавлена поддержка сборки с библиотекой OpenSSL 4.

  1. Главная ссылка к новости
  2. OpenNews: Выпуск системного менеджера systemd 261
  3. OpenNews: В systemd-journald спустя 6 лет признали проблему избыточной нагрузки на накопители
  4. OpenNews: Во Flatpak намерены сделать systemd обязательной зависимостью
  5. OpenNews: Создан форк systemd без хранения возраста. GrapheneOS отказался верифицировать возраст
  6. OpenNews: В Debian 14 намерены удалить слой для совместимости systemd со скриптами sysv-init
Обсуждение (83 –17) | Тип: Программы |


·22.09 Релиз операционной системы NetBSD 10.2 (35 +14)
  Опубликован релиз операционной системы NetBSD 10.2, который отнесён к категории корректирующих обновлений и включает в основном исправления проблем и уявзимостей, выявленных с момента публикации NetBSD 10.1 в декабре 2024 года. Ветка NetBSD 10 будет поддерживаться до релиза NetBSD 12.0. Для загрузки подготовлены установочные образы размером 639 МБ, доступные в сборках для 57 системных архитектур и 16 различных семейств CPU. Для новых установок рекомендуется использовать недавно опубликованный релиз NetBSD 11.0.

Из не связанных с исправлением ошибок изменений отмечается поддержка новых версий компиляторов, повышение стабильности работы WiFi-драйвера iwm, решение проблем при работе на системах Olimex A64 и MIPS R5000SC, реализация возможности загрузки ядра для amd64 при вызове qemu с опцией "-kernel". Добавлена поддержка устройств ASIX AX88179A USB Ethernet, Asus USB-N10 Nano B1 Wi-Fi, Realtek RTL8126 5Gbps Ethernet, RTL8125D (rev 0x6890000), RIoTboard i.MX6S IOMUX, VMware PV SCSI. Устранены уязвимости в ipfilter, telnet, TCP-стеке ядра, OpenSSL, Unbound и X.Org. Обновлены версии openssl 3.0.21, tmux 3.6a и xkbcomp 1.5.0.

  1. Главная ссылка к новости
  2. OpenNews: Доступен NetBSD 9.5, финальный выпуск в ветке 9.x
  3. OpenNews: Релиз операционной системы NetBSD 11.0
  4. OpenNews: ОС NetBSD портирована на системы с процессорами Motorola 68000
  5. OpenNews: Представлен Netbase, порт утилит NetBSD для других Unix-подобных систем
  6. OpenNews: Релиз операционной системы NetBSD 10.1
Обсуждение (35 +14) | Тип: Программы |


·22.09 Выпуск операционной системы Solaris 11.4 SRU95 (30 +6)
  Компания Oracle опубликовала выпуск операционной системы Solaris 11.4 SRU 95 (Support Repository Update), в котором предложена серия значительных изменений и улучшений для ветки Solaris 11.4. Для установки предложенных в обновлении исправлений достаточно выполнить команду 'pkg update'. Пользователи также могут воспользоваться бесплатной редакцией Solaris 11.4 CBE (Common Build Environment), развиваемой с использованием модели непрерывной публикации новых версий.

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

Обсуждение (30 +6) | Тип: Программы |


·22.09 Выпуск медиаплеера VLC 3.0.24 с устранением 130 уязвимостей (50 +18)
  Представлен выпуск мультимедийного проигрывателя VLC 3.0.24. Код написан на языке Си и распространяется под лицензией LGPLv2.1. В VLC и во встроенных библиотеках устранено более 130 проблем с безопасностью, вызванных переполнениями буфера, обращением к памяти после её освобождения, целочисленными переполнениями и двойным освобождением памяти (детали пока не раскрываются). Некоторые из уязвимостей могут эксплуатироваться при обработке специально оформленного контента.

Среди изменений, не связанных с уязвимостями и исправлением ошибок:

  • Добавлена поддержка декодирования звуковых форматов Atrac3 и Atrac9 (Adaptive Transform Acoustic Coding).
  • Добавлен декодировщик для формата APV (Advanced Professional Video).
  • Реализована поддержка субтитров CEA-708 в мультимедийном контейнере MP4.
  • В распаковщик медиаконтейнеров MPEG добавлена поддержка метаданных ID3v2.
  • На платформе Windows реализована возможность захвата видео в формате NV12, используя API DirectShow.
  • В реализации протокола SRT (Secure Reliable Transport) появилась поддержка режима приёма запросов на соединение (listener).
  • Улучшена логика определения языка субтитров по именам файлов и метаданным SSA/ASS.
  • Добавлена поддержка обращения к контенту по протоколу SFTP, используя аутентификацию по открытым ключам.
  • Улучшено определения сетевых разделов SMB2.
  • Добавлена поддержка сборки пакета в формате Flatpak.
  • Удалены плагины NPAPI и youtube.lua. Отключена по умолчанию сборка плагина RealRTSP.
  • Осуществлён переход на использование нового ключа RSA-4096 для верификации обновлений.
  • Обновлено 49 сторонних библиотек. Пакет FFmpeg обновлён с версии 4.4 до 8.1.2.

  1. Главная ссылка к новости
  2. OpenNews: Зафиксировано существенное замедление запуска VLC после обновления Windows 11
  3. OpenNews: На выставке CES 2026 продемонстрирован прототип VLC 4.0 с поддержкой видеокодека AV2
  4. OpenNews: Выпуск медиаплеера VLC 3.0.23
  5. OpenNews: Лидер VLC стал лауреатом премии European SFS Award 2025
  6. OpenNews: VLC достиг 6 миллиардов загрузок и реализовал автоматическую генерацию субтитров
Обсуждение (50 +18) | Тип: Программы |


·22.09 Компания Valve представила экспериментальный видеокодек Pyrowave (114 +29)
  Компания Valve объявила о включении в состав бета-версии клиента Steam видеокодека Pyrowave, оптимизированного для потокового вещания видео с низкими задержками в сетях с высокой пропускной способностью. Кодек добавлен в качестве опции в сервис Steam Remote Play, позволяющий вести вещание игрового процесса или транслировать вывод на свою систему при игре на других устройствах. В Linux-версии Steam кодек становится доступен при активации в настройках режима SteamRT3. Реализация кодека написана на языке C++ и распространяется под лицензией MIT.

Кодек поддерживает только раздельное кодирование каждого кадра (intra-only), независимо от соседних кадров (все кадры являются ключевыми, межкадровое сжатие не используется). Подобный подход позволяет добиться очень высокой точности передачи картинки и исключить появление артефактов при движении и резкой смене заднего плана. При кодировании изображений применяется дискретное вейвлет-преобразование с фильтром CDF 9/7, по аналогии с форматом JPEG2000, и тривиальным энтропийным кодированием, позволяющим эффективно распараллеливать вычисления.

Кодек очень требователен к пропускной способности канала связи - по сравнению с другими потоковыми кодеками Pyrowave требует передачи в 5-10 раз больше трафика. Рекомендовано использование кодека для трансляции и доступа к играм в локальной сети с подключением к гигабитным портам Ethernet. По умолчанию битрейт выбирается автоматически в зависимости от контента, но при ограниченной пропускной способности сетей предоставляется настройка для задания верхней границы битрейта (допустимые значения от 100 до 500 Mbit/s).

Pyrowave оптимизирован для очень быстрого кодирования и декодирования с задействованием GPU и полностью реализован в форме вычислительных шейдеров. При наличии достаточной пропускной способности (битрейт на уровне ~200+ mbit/s) кодек демонстрирует минимальные задержки на уровне 0.1 мс при качестве 1080p и 0.2 мс при качестве 4K. Для устойчивости к потере пакетов в Pyrowave применяется изолированное кодирование блоками 64x64.

Поддерживается HDR и цветовые пространства YCbCr 4:2:0 и 4:4:4. HDR включается автоматически при его поддержке на стороне хоста и клиента. Формат кодирования цвета 4:4:4 требует более ресурсоёмких вычислений и увеличивает трафик, поэтому отключён по умолчанию и рекомендован для активации при трансляции содержимого рабочего стола или необходимости повышения читаемости текста на видео.

  1. Главная ссылка к новости
  2. OpenNews: Опубликована библиотека OpenAPV 1 с эталонной реализацией видеокодека APV
  3. OpenNews: Альянс AOMedia объявил о стабилизации видеокодека AV2
  4. OpenNews: Альянс AOMedia развивает звуковой кодек OAC (Open Audio Codec), основанный на Opus
  5. OpenNews: Доступен звуковой кодек Opus 1.6
  6. OpenNews: Опубликован свободный видеокодек Theora 1.2
Обсуждение (114 +29) | Тип: К сведению |


·21.09 Проект Convey развивает форк почтового клиента Geary (68 +3)
  Опубликован почтовый клиент Convey, продолжающий развитие проекта Geary, новые версии которого не публиковались с мая 2024 года. Наиболее заметным отличием от Geary является переход на использование библиотек GTK4 и libadwaita. Код написан на языке Vala и распространяется под лицензией LGPL.

Среди изменений:

  • Добавлен бэкенд Microsoft Graph для работы с учётными записями Outlook и Microsoft 365.
  • Предоставлена возможность создания, переименования и удаления папок из боковой панели, а также создания вложенных папок через контекстное меню.
  • Переработан код автодополнения вводимых адресов.
  • Плагины переведены на использование libpeas-2, gcr-4 и gck-2.
  • Библиотеки libcanberra и gsound звменены на GStreamer для воспроизведения звуков уведомлений.
  • Возможность навигации по панелям при помощи клавиатуры.
  • Обновлены пиктограммы.
  • Добавлен режим "All Inboxes" для показа входящих сообщений для всех учётных записей.

  1. Главная ссылка к новости
  2. OpenNews: Выпуск почтового клиента Geary 46.0
Обсуждение (68 +3) | Тип: Программы |


·21.09 Выпуск дистрибутива MX Linux 25.3 (49 +14)
  Опубликован релиз легковесного дистрибутива MX Linux 25.3, созданного в результате совместной работы сообществ, образовавшихся вокруг проектов antiX и MEPIS. Выпуск основан на пакетной базе Debian с улучшениями от проекта antiX и пакетами из собственного репозитория. В дистрибутиве на выбор можно использовать системы инициализации sysVinit и systemd. Поставляются собственные инструменты для настройки и развёртывания системы. Для загрузки доступны 64-разрядные сборки (x86_64) с рабочим столом Xfce (2.7 ГБ), а также сборки с рабочим столом KDE (3.4 ГБ) и сборки (2.3 ГБ) с оконным менеджером Fluxbox.

В новом выпуске:

  • Осуществлена синхронизация с пакетной базой Debian 13.7. Ядро Linux обновлено до версии 6.12.107.
  • Обновлены сборки с расширенной поддержкой оборудования (AHS), которые поставляются с Xfce, ядром 7.2 c патчами от проекта liquorix и Мesa 26.1.4.
  • Обновлён интерфейс утилит MX-Welcome, MX-Tools и custom-toolbox.
  • Добавлена утилита Verify-iso-sig для проверки iso-образов по цифровой подписи.
  • Добавлена утилита MX-Theme-Colors, для создания собственных цветовых тем на основе существующих тем оформления GTK.

  1. Главная ссылка к новости
  2. OpenNews: Выпуск дистрибутива MX Linux 25.2
  3. OpenNews: Опубликован AV Linux MX 25, дистрибутив для создания аудио- и видеоконтента
  4. OpenNews: Выпуск легковесных дистрибутивов antiX 23.2 и MX Linux 23.4
Обсуждение (49 +14) | Тип: Программы |


·21.09 Выпуск утилиты для загрузки web-контента GNU Wget2 2.3.0 (42 +25)
  Опубликован релиз проекта GNU Wget2 2.3.0, развивающего переписанный с нуля и полностью переработанный вариант программы для автоматизации рекурсивной загрузки контента GNU Wget. Wget2 предоставляет набор дополнительных опций, поддерживает загрузку в несколько потоков, позволяет использовать доступную функциональность через библиотеку libwget, поддерживает протоколы HTTP/2 и TLS 1.3, даёт возможность загружать только изменившиеся данные, может сохранять данные с серверов потокового вещания, корректно обрабатывает интернационализированные доменные имена и может перекодировать загружаемое содержимое. Утилита wget2 поставляется под лицензией GPLv3+, а библиотека под LGPLv3+.

В новой версии основное внимание уделено исправлению ошибок, из изменений в функциональности выделяется расширение поддержки платформы OS/2, обеспечение конвертации ссылок в CSS при указании опции "--convert-links", поддержка атрибута srcdoc в элементе iframe, разбор HTML-тегов data-src и data-srcset, опция "--spider -S" для показа заголовков без загрузки содержимого и опция "--progress=dot" для визуализации прогресса выполнения загрузки.

  1. Главная ссылка к новости
  2. OpenNews: В GNU Wget2 2.2.1 устранена уязвимость, допускающая перезапись произвольных файлов
  3. OpenNews: Выпуск утилиты для загрузки web-контента GNU Wget2 2.2.0
  4. OpenNews: Доступны утилиты wget 1.25 и Curl 8.11. Представлены платные LTS-выпуски Curl
  5. OpenNews: Первый стабильный релиз утилиты для загрузки web-контента GNU Wget2
  6. OpenNews: Выпуск GNU Wget 1.21
Обсуждение (42 +25) | Тип: Программы |


·21.09 Представлены первые ноутбуки Googlebook, оснащённые Android (193 –16)
  Компания Google объявила о доступности для предзаказа трёх первых моделей ноутбуков Googlebook, созданных компаниями Acer, Dell и Lenovo (в разработке также находятся модели от ASUS и HP). Отправка устройств по предзаказам начнётся 4 октября. Серия Googlebook построена на базе платформы Android 17 и идёт на смену устройствам Chromebook, поставлявшимся с операционной системой ChromeOS. Платформа Googlebook преподносится как переход от традиционных операционных систем к умным системам, в которые тесно интегрированы AI-сервисы.

Интерфейс пользователя основан на реализованном в Android десктоп-режиме для больших экранов, позволяющем одновременно работать с окнами нескольких приложений по аналогии с традиционной средой рабочего стола. Из Android также задействованы ядро Linux, GKI-модули (Generic Kernel Image), компоненты взаимодействия с оборудованием (HAL), Android Runtime, Android API, системные фоновые процессы и библиотеки. Из Chrome OS перенесён интерфейс запуска приложений (Launcher), файловый менеджер, а также отдельные системные сервисы.

Поддерживается бесшовное взаимодействие со смартфонами на базе платформы Android и предоставляется возможность устанавливать созданные для Android приложения из каталога Google Play. Из интерфейса Googlebook также можно запускать приложения, установленные на связанном смартфоне, не доставая смартфон и не переустанавливая приложения на ноутбуке. В файловом менеджере предоставляется доступ к содержимому Android-смартфонов и имеется возможность переносить, просматривать и искать файлы на разных Android-устройствах пользователя.

В платформу встроен AI-ассистент Gemini, который активируется при помощи умного курсора - достаточно подёргать курсор из стороны в сторону, и курсор перейдёт в режим вывода контекстных подсказок, появляющихся при его наведении на любой интересующий контент на экране. Например, после наведения курсора на дату в письме AI-ассистент предложит назначить встречу, а при выборе курсором нескольких изображений можно сгенерировать новое изображение на их основе. Подобным образом можно сравнивать контент и задавать AI-ассистенту вопросы о содержимом. При помощи AI также осуществляется создание пользовательских виджетов - достаточно нажать кнопку создания виджета и естественным языком описать, что хочется получить.

В базовую поставку входят такие приложения, как Google Chrome, Google Docs, Gmail, Google Drive, Google Gemini, Google Calendar, Google Photos и YouTube. Помимо Android-приложений и игр из Google Play, предоставляется возможность установки Adobe Photoshop, Adobe Lightroom, CapCut, Microsoft 365 и некоторых других нативных программ. Для запуска игр, выпускаемых для ПК, можно использовать сервис GeForce NOW. Возможен просмотр видео с платформ Netflix и HBO Max. Запуск Linux-программ осуществляется в виртуализированном окружении, для строгой изоляции памяти в котором применяется pKVM (Protected KVM).

Доступные для предзаказа устройства:

  • Lenovo Googlebook ($1,349) 15.3” (2880 x 1800), Intel Core Ultra 5 325, NPU (Neural Processing Unit), ОЗУ 16GB LPDDR5X, 512GB NVMe SSD, Wifi 7, Bluetooth 5.4, 2x USB Type-C Thunderbolt 4, 1x USB 3.2 Type-A, 3.5mm Audio, HDMI 2.0, аккумулятор 70 Wh (до 13 часов автономной работы), вес 1.281 кг.
  • Dell XPS Googlebook ($1,199) 13.4" (2560 x 1600), Qualcomm Snapdragon X Elite X1E-80-100, NPU, ОЗУ 16GB LPDDR5X, 512GB PCIe Gen 4 SSD, Wifi 7, Bluetooth 5.4, 2x USB Type-C 3.2 (10Gbps) с DisplayPort 1.4, аккумулятор 52 Wh (до 18 часов автономной работы), вес 1 кг.
  • Acer Googlebook ($899) 14.0" (2880 x 1800), Intel Core Ultra 5 325, NPU, ОЗУ 16GB LPDDR5X, 512GB PCIe Gen 4 SSD, Wifi 7, Bluetooth 6, USB Type-C 3.2 (10Gbps) с DisplayPort 1.4 через USB Type-C, аккумулятор 71 Wh (до 16 часов автономной работы), вес 1.139 кг.

  1. Главная ссылка к новости
  2. OpenNews: Поставка ОС Aluminium намечена на 2028 год. Поддержка ChromeOS сохранится до 2034 года
  3. OpenNews: Утечка видео с интерфейсом ОС Aluminium, развиваемой Google на смену Chrome OS
  4. OpenNews: Google развивает ОС Aluminium для ноутбуков и планшетов
  5. OpenNews: Google подтвердил грядущее слияние Android и Chrome OS
  6. OpenNews: В Android встроена возможность запуска графических Linux-приложений
Обсуждение (193 –16) | Тип: К сведению |


·20.09 Valve опубликовала инструментарий Lepton для запуска Android-игр в Linux (118 +60)
  Компания Valve развивает инструментарий Lepton, позволяющий запускать в Linux игры, поставляемые для платформы Android. Проект рассчитан на интеграцию со Steam Client и создан для предоставления возможности запуска Android-игр с поддержкой устройств виртуальной реальности на VR-шлеме Steam Frame, поставляемом с Linux.

Lepton формирует изолированный контейнер с системным образом платформы Android, включающий всё необходимое для запуска Android-игр. Начинка сформирована c использованием патчей и компонентов от проектов Waydroid, Anbox, Halium и Hybris. Наработки для сборки образа с Android, применяемого для исполнения игр в Linux, распространяются под лицензией GPLv3, а инструментарий для организации процесса запуска игр с использованием подготовленного образа - под лицензией MIT.

В Lepton также включены дополнительные возможности, помогающие разработчикам игр перенести свои Android-игры в Steam. В формируемое Android-окружение пробрасываются используемые в хостовой ОС библиотеки Steam/Steamworks, графические драйверы (mesa, zink) и Vulkan-прослойки для оптимизации рендеринга и снижения детализации по краям экрана. Поддерживается интеграция с различными отладчиками (strace, gdb, lldb, renderdoc) и профилировщиками (perfetto).

Отличия Lepton от существующих проектов, реализующих окружения для запуска Android-приложений в Linux:

  • Запуск под непривилегированным пользователем и отсутствие настроек и действий для которых нужны права root.
  • Все процессы в Lepton запускаются под одним непривилегированным пользователем. Отсутствует изоляция между играми, запускаемыми в Android-окружении - предполагается, что каждая Android-игра запускается в отдельном Android-контейнере.
  • Lepton не рассчитан на универсальное применение и содержит только минимальную функциональность, необходимую для запуска игр. Отключены многие Android-сервисы, не применяемые в играх.
  • Кэширование состояния различных компонентов для ускорения запуска Android-окружений.

  1. Главная ссылка к новости
  2. OpenNews: Проект Waydroid развивает пакет для запуска Android в дистрибутивах GNU/Linux
  3. OpenNews: Проект Anbox развивает окружение для запуска Android-приложений в дистрибутивах Linux
  4. OpenNews: Проект Halium нацелен на унификацию основы мобильных Linux-платформ, отличных от Android
  5. OpenNews: Компания Valve представила приставку Steam Machine и VR-шлем Steam Frame, поставляемые с Linux
  6. OpenNews: libhybris - прослойка для выполнения поверх Glibc привязанных к Bionic компонентов Android
Обсуждение (118 +60) | Тип: Программы |


·20.09 Опасные уязвимости в ядре Linux, KVM, Exim, Unbound, Ghostscript и Suricata (118 +20)
  Несколько недавно выявленных опасных уязвимостей, позволяющих получить root-доступ в системе или добиться удалённого выполнения кода.
  • Раскрыты сведения о четырёх уязвимостях в ядре Linux, дающих непривилегированному локальному пользователю возможность выполнить код с правами root. Проблемы устранены в обновлениях ядра Linux 5.10.270, 5.15.221, 6.1.188, 6.6.157, 6.12.109, 6.18.50 и 7.2.4. Для всех уязвимостей подготовлены эксплоиты, работа которых продемонстрирована в Fedora 43/44 и Ubuntu 24.04. Для эксплуатации первых трёх уязвимостей требуется возможность создания пространств имён идентификаторов пользователей (user namespace) или наличие прав CAP_NET_ADMIN, а также включение поддержки подсистем, в которых присутствуют уязвимости (AH6/XFRM, TUN, PPPoE и SCTP).
    • DirtyAH6 (CVE-2026-80844, эксплоит) - переполнение буфера в обработчике IPsec AH (Authentication Header), возникающее из-за отсутствия проверки указанных в заголовке значений. Помимо локального осуществления атаки, уязвимость при специфичных условиях теоретически может быть эксплуатирована удалённо.
    • TUNderflow (CVE-2026-81000, эксплоит) - запись за пределы выделенного буфера при разборе некорректно оформленного TUN-пакета.
    • PPPoEject (CVE-2026-68121, эксплоит) - обращение к уже освобождённой памяти в драйвере PPPoE.
    • DiagSpill (CVE-2026-74469, эксплоит) - переполнение буфера в средствах диагностки протокола SCTP. Помимо локального осуществления атаки, уязвимость при специфичных условиях теоретически может быть эксплуатирована удалённо.
  • Уязвимость (CVE-2026-89775) в гипервизоре KVM, позволяющая получить доступ к хост-окружению из гостевой системы. При наличии доступа непривилегированных пользователей к устройству /dev/kvm (по умолчанию в RHEL) уязвимость также можно использовать для повышения своих привилегий в системе. Проблема проявляется только на системах с архитектурой ARM64 при включённой поддержке вложенной виртуализации. Уязвимость вызвана тем, что процедура расчёта размера возвращала "0", подразумевая, что размер неизвестен, а функция освобождения страниц памяти обрабатывала "0" как фактическое значение и не очищала страницы памяти.
  • В выпуске почтового сервера Exim 4.100.1 устранены 4 уязвимости: чтение данных из области за границей буфера и использование неинициализированных данных в реализации протокола Proxy; обращение к памяти после её освобождения в TLS-on-connect при использовании GnuTLS; подстановка сообщения в чужой поток (SMTP smuggling).
  • В пакете Ghostscript 10.08.0 устранена уязвимость (CVE-2026-39919), вызванная переполнением буфера в коде для разбора формата JPEG 2000 при указании некорректных значений субсэмплинга. Проблема может привести к выполнению кода при обработке в Ghostscript специально оформленных файлов PDF с интегрированными изображениями в формате JPEG 2000. Опасность уязвимости усугубляет то, что Ghostscript вызывается в процессе создания миниатюр на рабочем столе, при фоновой индексации данных и при преобразовании изображений. Для успешной атаки во многих случаях достаточно просто загрузить файл с эксплоитом или просмотреть каталог с ним в Nautilus. Уязвимости в Ghostscript также можно эксплуатировать через обработчики изображений на базе пакетов ImageMagick и GraphicsMagick, передав в них JPEG или PNG-файл, в котором вместо картинки находится код PostScript (такой файл будет обработан в Ghostscript, так как MIME-тип распознаётся по содержимому, а не полагаясь на расширение). Проблема устранена в Ghostscript 10.08.0.
  • В DNS-сервере Unbound 1.26.1 устранено 9 уязвимостей, среди которых проблема CVE-2026-81642, приводящая к переполнению буфера при обработке определённых DNSKEY. Уязвимость может использоваться для удалённого выполнения кода на сервере. Также устранены: переполнение буфера в коде работы с DNSSEC, повреждение данных в памяти в обработчике CNAME, обращение к уже освобождённой памяти в коде DoQ и DoH.
  • В системе обнаружения и предотвращения атак Suricata 8.0.7 устранено 67 уязвимостей, из которых две помечены как критические. Сведения о проблемах пока не раскрываются, но судя по уровню опасности уязвимости допускают удалённое выполнение кода при обработке специально оформленного трафика.

  1. Главная ссылка к новости
Обсуждение (118 +20) | Тип: Проблемы безопасности |


Следующая страница (раньше) >>



XSQUARE
Inferno Solutions
Hosting by Hoster.ru
Хоcтинг:

Закладки на сайте
Проследить за страницей
Created 1996-2026 by Maxim Chirkov
Добавить новость, Поддержать