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

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

·23.09.2026 Дистрибутив Peppermint OS переходит с X.Org Server на XLibre (45 +8)
  Разработчики 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. OpenNews: Дистрибутив Artix вернулся с XLibre на X.Org Server
  2. OpenNews: Выпуск проекта XLibre XServer 25.2.0, развивающего форк X.Org Server
  3. OpenNews: Представлен GTK2-NG, форк библиотеки GTK2
  4. OpenNews: Проекты Artix Linux и GhostBSD переходят с X.Org Server на XLibre
  5. OpenNews: Сформирован выпуск Linux-дистрибутива Peppermint OS на базе Debian
Обсуждение (45 +8) | Тип: Программы |
·23.09.2026 Выпуск музыкального проигрывателя Fooyin 0.13 (119 +7)
  Состоялся выпуск музыкального проигрывателя 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. OpenNews: Выпуск музыкального проигрывателя Qmmp 2.4
  2. OpenNews: Выпуск музыкального проигрывателя Rhythmbox 3.5
  3. OpenNews: Выпуск музыкального проигрывателя Audacious 4.6
  4. OpenNews: Опубликован музыкальный проигрыватель Nocturne 1.0
  5. OpenNews: Новая версия музыкального проигрывателя DeaDBeeF 1.10.1
·23.09.2026 Первый выпуск scan, библиотеки разбора текста для C++ с построением конечного автомата при компиляции (49 +10)
  Опубликован первый выпуск библиотеки 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 нс

   "[email protected]"   распознавание, ничего не извлекается

     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)

Обсуждение (49 +10) | Автор: j4niwzis | Тип: Программы |
·22.09.2026 Релиз операционной системы NetBSD 10.2 (32 +15)
  Опубликован релиз операционной системы 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. OpenNews: Доступен NetBSD 9.5, финальный выпуск в ветке 9.x
  2. OpenNews: Релиз операционной системы NetBSD 11.0
  3. OpenNews: ОС NetBSD портирована на системы с процессорами Motorola 68000
  4. OpenNews: Представлен Netbase, порт утилит NetBSD для других Unix-подобных систем
  5. OpenNews: Релиз операционной системы NetBSD 10.1
Обсуждение (32 +15) | Тип: Программы |
·22.09.2026 Выпуск операционной системы Solaris 11.4 SRU95 (31 +7)
  Компания Oracle опубликовала выпуск операционной системы Solaris 11.4 SRU 95 (Support Repository Update), в котором предложена серия значительных изменений и улучшений для ветки Solaris 11.4. Для установки предложенных в обновлении исправлений достаточно выполнить команду 'pkg update'. Пользователи также могут воспользоваться бесплатной редакцией Solaris 11.4 CBE (Common Build Environment), развиваемой с использованием модели непрерывной публикации новых версий.

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

Обсуждение (31 +7) | Тип: Программы |
·22.09.2026 Выпуск медиаплеера VLC 3.0.24 с устранением 130 уязвимостей (49 +20)
  Представлен выпуск мультимедийного проигрывателя 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. OpenNews: Зафиксировано существенное замедление запуска VLC после обновления Windows 11
  2. OpenNews: На выставке CES 2026 продемонстрирован прототип VLC 4.0 с поддержкой видеокодека AV2
  3. OpenNews: Выпуск медиаплеера VLC 3.0.23
  4. OpenNews: Лидер VLC стал лауреатом премии European SFS Award 2025
  5. OpenNews: VLC достиг 6 миллиардов загрузок и реализовал автоматическую генерацию субтитров
Обсуждение (49 +20) | Тип: Программы |
·21.09.2026 Проект Convey развивает форк почтового клиента Geary (64 +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. OpenNews: Выпуск почтового клиента Geary 46.0
Обсуждение (64 +3) | Тип: Программы |
·21.09.2026 Выпуск дистрибутива 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. OpenNews: Выпуск дистрибутива MX Linux 25.2
  2. OpenNews: Опубликован AV Linux MX 25, дистрибутив для создания аудио- и видеоконтента
  3. OpenNews: Выпуск легковесных дистрибутивов antiX 23.2 и MX Linux 23.4
Обсуждение (49 +14) | Тип: Программы |
·21.09.2026 Выпуск утилиты для загрузки web-контента GNU Wget2 2.3.0 (42 +26)
  Опубликован релиз проекта 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. OpenNews: В GNU Wget2 2.2.1 устранена уязвимость, допускающая перезапись произвольных файлов
  2. OpenNews: Выпуск утилиты для загрузки web-контента GNU Wget2 2.2.0
  3. OpenNews: Доступны утилиты wget 1.25 и Curl 8.11. Представлены платные LTS-выпуски Curl
  4. OpenNews: Первый стабильный релиз утилиты для загрузки web-контента GNU Wget2
  5. OpenNews: Выпуск GNU Wget 1.21
Обсуждение (42 +26) | Тип: Программы |
·19.09.2026 Новые версии Wine 11.18 и Wine-staging 11.18 (36 +15)
  Опубликован экспериментальный выпуск открытой реализации Win32 API - Wine 11.18. С момента выпуска 11.17 был закрыто 44 отчёта об ошибках и внесено 380 изменений.

Наиболее важные изменения:

  • В прослойке симуляции ядра NT (ntoskrnl.exe) реализованы функции PsGetThreadProcess, PsGetProcessPeb, PsGetContextThread, PsReferencePrimaryToken, MmGetPhysicalMemoryRanges, SeLocateProcessImageName, MmGetVirtualForPhysical, KeCapturePersistentThreadState, PsDereferencePrimaryToken, PsGetProcessImageFileName, необходимые для корректной поддержки драйверов устройств.
  • В поставляемые для языка Си заголовочные файлы внесены исправления для повышения совместимости.
  • Закрыты отчёты об ошибках, связанные с работой приложений: QuickTime 2.x, Adobe Creative Cloud, Adobe Express Photos, SlingPlayer 1.5.
  • Закрыты отчёты об ошибках, связанные с работой игр: Assassin's Creed Rogue, Super Meat Boy, Screamer 4x4 1.2, Enclave, Star Wars: Knights of the Old Republic, Return to Krondor, The Bard's Tale IV Director's Cut.

Отдельно сформирован выпуск проекта Wine Staging 11.18, предоставляющего расширенные сборки Wine, включающие не полностью готовые или рискованные патчи, пока непригодные для принятия в основную ветку Wine. По сравнению с Wine в Wine Staging предоставляется 273 дополнительных патчей. В новом выпуске Wine Staging осуществлена синхронизация с кодовой базой Wine 11.18 и обновлён код vkd3d. В основной состав Wine перенесён патч, преобразующий заголовочный файл d3d10_1shader.h в файл в формате idl (Interface Definition Language). Добавлены патчи для преобразования представления цвета YV12 в RGB в коде отрисовки и выполнения проверок исполняемых файлов для архитектуры WoW64 (64-bit Windows-on-Windows), позволяющей выполнять 32-разрядные Windows-приложения в 64-разрядных Unix-системах.

  1. OpenNews: Новые версии Wine 11.17, Wine-staging 11.17, DXVK 3.1, D7VK 2.1 и Vkd3d 2.1
Обсуждение (36 +15) | Тип: Программы |
·18.09.2026 Опубликована библиотека управления памятью jemalloc 5.4 (61 +23)
  Представлен релиз библиотеки управления памятью jemalloc 5.4.0, предлагающей альтернативную реализацию функций malloc, оптимизированную для снижения фрагментации и работы на многопроцессорных системах. Для решения проблем с блокировками на многоядерных системах в jemalloc для каждого ядра CPU используется своя изолированная область распределения памяти, что позволяет добиться линейной масштабируемости при росте числа потоков.

В июне 2025 года автор проекта прекратил сопровождение и перевёл репозиторий jemalloc в архивный режим, но в марте этого года разработку возобновила компания Meta, применяющая jemalloc в своей инфраструктуре. Изначально библиотека была разработана для FreeBSD и используется в данной ОС по умолчанию с 2005 года. Код библиотеки написан на Си и распространяется под лицензией BSD.

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

  • Упрощена логика заполнения и сброса tcache (Thread Local Cache), а также диспетчеризации выделения памяти.
  • Унифицированы аллокаторы страниц памяти PAC (Page Allocator Classic) и HPA (Huge Page Allocator). Удалён усложнённый механизм косвенных вызовов через vtable (PAI vtable).
  • Для упрощения сопровождения и расширения платформ все платформо-зависимые операции вынесены в отдельные заголовочные файлы.
  • Упрощена диспетчеризация команд mallctl, а также переработана инфраструктура генерации и вывода статистики.
  • Добавлен флаг EXTENT_ALLOC_FLAG_PINNED, позволяющий помечать невытесняемые области маппинга памяти, такие как страницы HugeTLB, для их приоритетного повторного использования. Для получения статистики об использовании закреплённой памяти добавлены новые интерфейсы mallctl: stats.pinned, stats.arenas.<i>.pinned, stats.arenas.<i>.extents.<j>.npinned, stats.arenas.<i>.extents..pinned_bytes и stats.arenas.<i>.mutexes.extents_pinned.{counter} .
  • Синхронизировано содержимое статистики malloc в читаемом и JSON форматах.
  • Удалены устаревшие параметры lg_tcache_nslots_mul, tcache_nslots_small_min, tcache_nslots_small_max, tcache_nslots_large, tcache_gc_delay_bytes, lg_tcache_flush_small_div и lg_tcache_flush_large_div.

  1. OpenNews: Доступна библиотека управления памятью jemalloc 5.3.1
  2. OpenNews: Facebook возобновил разработку библиотеки управления памятью jemalloc
  3. OpenNews: Прекращена разработка библиотеки управления памятью jemalloc
  4. OpenNews: Miсrosoft открыл код системы распределения памяти mimalloc
  5. OpenNews: Google опубликовал новый вариант системы распределения памяти TCMalloc
Обсуждение (61 +23) | Тип: Программы |
·18.09.2026 Выпуск ESP-KVM 0.51.0, открытой прошивки IP-KVM , с записью экрана на microSD (67 +26)
  Опубликован выпуск ESP-KVM 0.51.2, открытой прошивки, превращающей плату на микроконтроллере ESP32-P4 в IP-KVM с доступом к экрану, клавиатуре и мыши удалённого компьютера через браузер, без установки агента на управляемую машину. Код написан на языке Си и распространяется под лицензией Apache 2.0. Основное изменение выпуска - запись происходящего на экране цели на карту microSD самого устройства.

Запись включается кнопкой в веб-интерфейсе и сохраняется в каталог VIDEO в виде файлов .ts с видео H.264. Устройство пишет тот же поток, который отдаёт зрителям, поэтому повторное кодирование не требуется: на плате Espressif ESP32-P4 Function EV при воспроизведении видео на целевой машине частота кадров во время записи осталась на уровне 21-22 в секунду без потерь. Файл .ts воспроизводится в VLC и mpv, а прерванный извлечением карты или отключением питания открывается до момента обрыва. Длинная запись делится на файлы по 10 минут и останавливается через час; оба значения настраиваются. Отдельной кнопкой сохраняется снимок экрана в формате JPEG в папку SCREENSHOTS, в том числе при работе кодека H.264: для снимка задействуется простаивающий аппаратный кодировщик JPEG.

Нажатия клавиш и щелчки мышью можно записывать в файл субтитров .srt рядом с видео - в виде строк "Typed: root", "Ctrl+Alt+Delete", "Left click (812, 440)". По умолчанию набранный текст заменяется точками, при необходимости он сохраняется полностью. Раскладка берётся из настроек целевой клавиатуры.

Добавлен режим видеорегистратора, работающий по тому же принципу, что автомобильный: устройство постоянно держит последние минуты экрана и сохраняет их вместе с последующими секундами, когда что-то происходит - экран становится однотонным (характерно для экрана аварийной остановки), появляется отслеживаемая фраза, гаснет индикатор питания ATX или оператор нажимает кнопку. Полученный ролик преобразуется в MP4 с главами по каждому событию, а при включённых уведомлениях отправляется в Telegram как воспроизводимое в чате видео.

Хранить прошлое можно двумя способами: в оперативной памяти PSRAM, где оно ничего не занимает на карте до наступления события, или на самой карте короткими фрагментами с удалением устаревших - второй способ работает и на платах с ревизией чипа до 3.0, где после запуска кодировщика H.264 свободной PSRAM остаётся около 3 МБ против 11 МБ на новых ревизиях.

Появился режим таймлапса: сохраняется один кадр раз в заданное число секунд, воспроизведение идёт со скоростью 25 кадров в секунду, поэтому час работы при интервале 10 секунд укладывается в 14 секунд видео. Записи и снимки собраны в отдельной панели интерфейса, откуда их можно скачать, удалить и воспроизвести без предварительной загрузки файла целиком: MP4 открывается штатным плеером браузера, а .ts разбирается на кадры в самой консоли и декодируется тем же декодером H.264, что и живая картинка, с перемоткой и показом субтитров. Для перемотки на стороне устройства реализована поддержка диапазонов HTTP.

Реализован поиск по тексту на экране. Во время записи устройство раз в три секунды читает экран как набор символов и сохраняет прочитанное в файл рядом с видео; в панели записей поиск по фразе показывает, когда она была на экране, и воспроизводит запись с этого момента. Читаются только экраны, нарисованные знакогенератором - BIOS, меню загрузки, программа установки, консоль.

Запись, ускоренную съёмку и снимок экрана можно запускать из сценариев устройства ("record 300", "timelapse 60", "screenshot") и из Home Assistant, где для этого есть переключатель и кнопки. Часы устройства теперь синхронизируются по NTP, а часовой пояс выбирается из списка городов в настройках - раньше он хранился в разделе, который интерфейс не показывал.

Другие изменения в выпусках, вышедших после 0.45.0:

  • 0.46. Добавлены сборки для плат VIEWE ESP32-P4-Pi и Waveshare ESP32-P4-NANO-WIFI6-DB. Прошивка стала собираться с оптимизацией -O2, мелкие выделения памяти перенесены в PSRAM, а зависшая задача теперь приводит к перезагрузке с сохранением дампа.
  • 0.47. Появились сценарии (runbooks) - макросы, которые умеют ждать появления или исчезновения фразы на текстовом экране и выполняются на самом устройстве при закрытом браузере; принимаются скрипты в формате DuckyScript. Добавлены планировщик с синтаксисом cron и уведомления в Telegram (со снимком экрана) или на webhook.
  • 0.48. Карта microSD и модуль WiFi заработали одновременно - раньше оба использовали один слот SDMMC.
  • 0.49. Карта microSD на платах Function EV и Waveshare ESP32-P4-ETH заработала на частоте шины 40 МГц вместо 4 (чтение около 9 МБ/с, запись около 4 МБ/с): не было включено питание линий слота от встроенного стабилизатора. Загрузка образа через веб-интерфейс ускорена примерно в 50 раз, до 3,5 МБ/с по Ethernet. Добавлен режим клавиатуры для старых BIOS - целевая машина видит единственное устройство на скорости USB 1.1, без мыши и накопителя. Устройство сообщает, если режим HDMI превышает пропускную способность двух линий MIPI CSI.
  • 0.49.1. Чтение виртуального накопителя целевой машиной ускорено с 5,6 до 9 МБ/с за счёт чтения с карты блоками по 256 КБ. Смена образа стала видна целевой машине без переподключения USB.
  • 0.50. Карту microSD можно менять на работающем устройстве, в том числе выдернув её в середине копирования: слот проверяется каждые пять секунд. Исправлена задержка в MJPEG, из-за которой на неподвижном экране браузер показывал кадр, предшествующий последнему нажатию клавиши.

  1. OpenNews: Выпуск ESP-KVM 0.45.0, открытой прошивки IP-KVM на базе ESP32-P4
  2. OpenNews: Pi-KVM - проект открытого KVM-коммутатора на Raspberry Pi
  3. OpenNews: Опубликован программный KVM-переключатель Input Leap 3.0.0
Обсуждение (67 +26) | Автор: Dexif | Тип: Программы |
·17.09.2026 Релиз децентрализованной видеовещательной платформы PeerTube 8.3 (62 +13)
  Опубликован выпуск платформы PeerTube 8.3, предназначенной для создания независимых децентрализованных систем видеохостинга и видеовещания, альтернативных таким сервисам, как YouTube, Dailymotion и Vimeo. Создаваемая при помощи PeerTube сеть распространения контента основывается на связывании браузеров посетителей между собой и использовании P2P-коммуникаций. Код проекта распространяется под лицензией AGPLv3.

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

Для взаимодействия серверов в федеративной сети применяется протокол ActivityPub. Идентификатор пользователя формируются как "@имя_пользователя@домен_сервера". При просмотре видео данные по возможности загружаются через обращение к браузерам других посетителей, просматривающих тот же контент. Если запрошенное видео никто не просматривает, отдача организуется сервером, на который загружено видео (используется протокол WebSeed).

Помимо распределения трафика между пользователями, просматривающими видео, PeerTube позволяет серверам кэшировать видео других авторов. Таким образом формируется распределённая сеть не только из клиентов, но и из серверов, а также обеспечивается отказоустойчивость. Кроме распространения готового видео имеется поддержка потокового вещания (live streaming) с доставкой контента в режиме P2P. Для управления стримингом могут использоваться типовые программы, такие как OBS.

Для начала вещания через PeerTube пользователю необходимо загрузить на один из серверов видеоролик, описание и набор тегов. После этого ролик станет доступен во всей федеративной сети, а не только на сервере первичной загрузки. Для работы с PeerTube и участия в распространении контента достаточно обычного браузера. Распространять видео с использованием P2P-коммуникаций можно добавив на свой сайт специальный виджет со встроенным web-плеером, по аналогии с тем как на страницы встраиваются ролики с YouTube. Отслеживать появление видео можно через подписку на выбранные видеоканалы в федеративных социальных сетях (например, в Mastodon и Pleroma) или через RSS.

В настоящее время в федеративную сеть входит 1779 серверов, поддерживаемых добровольцами и организациями. Если пользователя не устраивают правила размещения видео на определённом сервере PeerTube, он может подключиться к другому серверу или запустить свой собственный сервер. Для быстрого развёртывания сервера предоставляется преднастроенный образ в формате Docker (chocobozzz/peertube).

Изначально платформа PeerTube основывалась на применении BitTorrent-клиента WebTorrent, запускаемого в браузере и использующего технологию WebRTC для организации прямого P2P-канала связи между браузерами. Позднее вместо WebTorrent был задействован протокол HLS (HTTP Live Streaming) в связке с WebRTC, позволяющий адаптивно управлять потоком в зависимости от полосы пропускания. Web-интерфейс построен с использованием фреймворка Angular.

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

  • Добавлена поддержка подписки на внешние списки блокировок для автоматического игнорирования платформ или учётных записей.
  • Администраторам предоставлена возможность открытия публичного доступа к своим спискам блокировки.
  • Реализована автоматическая модерация на основе списков слов. По аналогии с платформой Bluesky, видео и комментарии, содержащие слова из списка, снабжаются тегами, которые могут применяться для блокировки.
  • Добавлена возможность подписки на внешние списки слов для отслеживания видео и комментариев при модерации.
  • Добавлена отправка на email уведомлений о необычной активности при входе (например, при подключении с нового устройства).
  • Добавлена поддержка массовых действий с видео, например, для добавления сразу нескольких видео в список воспроизведения или изменения параметров у группы видео.
  • На странице управления каналом реализована вкладка для публикации ленты подкастов в сервисах Apple Podcasts и Podcast Index.
  • При локальном поиске теперь индексируется первые 1000 символов из описания видео.
  • Улучшен виджет для перевода речи в текст, в котором теперь постоянно показывается поле поиска, приостанавливается прокрутка при ручном перемещении по тексту и появилась кнопка "Синхронизировать с видео", позволяющая перейти к тексту воспроизводимой позиции.

  1. OpenNews: Релиз децентрализованной видеовещательной платформы PeerTube 8.0
Обсуждение (62 +13) | Тип: Программы |
·17.09.2026 Выпуск браузера Pale Moon 35.0 (138 +24)
  Опубликован релиз web-браузера Pale Moon 35.0.0, ответвившегося от кодовой базы Firefox для обеспечения более высокой эффективности работы, сохранения классического интерфейса, минимизации потребления памяти и предоставления дополнительных возможностей по настройке. Сборки Pale Moon формируются для Windows и Linux (x86_64). Код проекта распространяется под лицензией MPLv2 (Mozilla Public License).

Проект придерживается классической организации интерфейса, без перехода к интегрированным в Firefox 29 и 57 интерфейсам Australis и Photon, и с предоставлением широких возможностей кастомизации. Из удалённых компонентов можно отметить DRM, Social API, WebRTC, PDF-просмотрщик, Сrash Reporter, код для сбора статистики, средства для родительского контроля и людей с ограниченными возможностями. По сравнению с Firefox, в браузер возвращена поддержка расширений, использующих XUL, и сохранена возможность применения как полноценных, так и легковесных тем оформления.

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

  • Включены по умолчанию прослойки для обеспечения совместимости с API Document.elementFromPoint, GetAnimations, image.decode(), Intl.DisplayNames, Intl.ListFormat, Intl.RelativeTimeFormat и Streams.
  • В CSS реализованы ключевое слово revert-layer и псевдо-класс ":has()".
  • В объекте CSSStyleSheet реализован метод replaceSync.
  • Добавлено свойство adoptedStyleSheets.
  • В режиме совместимости с Firefox по умолчанию выставлена версия 140.
  • Улучшена поддержка архитектур LoongArch64 и Mac/PPC.
  • Для Linux и FreeBSD добавлена опция для сборки поддержки NPAPI без GTK2.
  • На платформе Linux повышена производительность набора данных в формах на некоторых сложных страницах.

  1. OpenNews: Выпуск браузера Pale Moon 34.0.0
Обсуждение (138 +24) | Тип: Программы |
·17.09.2026 Выпуск miracle-wm 0.11, композитного менеджера на базе Wayland и Mir (23 +3)
  Опубликован выпуск композитного менеджера miracle-wm 0.11, использующего протокол Wayland и компоненты для построения композитных менеджеров Mir. Miracle-wm поддерживает мозаичную (tiling) компоновку окон, схожую с аналогичной в проектах i3 и Sway. В качестве панели может применяться Waybar. Код проекта написан на языке C++ и распространяется под лицензией GPLv3. Готовые сборки сформированы в формате snap, а также в пакетах rpm и deb для Fedora и Ubuntu.

Целью miracle-wm является создание композитного сервера, применяющего мозаичное управление окнами, но более функционального и стильного, чем такие продукты, как Swayfx. При этом проект позволяет использовать и классические приёмы работы с плавающими окнами, например, можно размещать отдельные окна поверх мозаичной сетки или закреплять окна к определённому месту на рабочем столе. Поддерживается виртуальные рабочие столы с возможностью выставления для каждого рабочего стола своего режима работы с окнами по умолчанию (мозаичная компоновка или плавающие окна).

Предполагается, что miracle-wm может оказаться полезным пользователям, которые отдают предпочтение мозаичной компоновке, но желают получить визуальные эффекты и более яркое графическое оформление с плавными переходами и цветами. Конфигурация определяется в формате YAML. Для установки miracle-wm можно использовать команду "sudo snap install miracle-wm --classic".

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

  • Добавлен обзорный режим, упрощающий переключение между окнами и виртуальными рабочими столами. Вызывается одинарными или двойным нажатием клавиши Menu.

  • Добавлена возможность привлечь внимание пользователя к неактивному окну, не переключая при этом фокус ввода с активного окна. Например, при поступлении нового сообщения в почтовом клиенте, он может запросить переключение фокуса, после чего miracle выставит окну и виртуальному рабочему столу флаг urgent, который может подхватить панель задач для вывода соответствующего индикатора.
  • В плагинах реализована возможность отправки IPC-событий и обработки IPC-команд.
  • Добавлена настройка background_color для задания цвета, применяемого для очистки содержимого.
  • В IPC добавлена команда GET_KEYBINDS для определения всех действий, привязанных к комбинациям клавиш.
  • Задействованы Wayland-протоколы:
  • Дисплейный сервер Mir обновлён до версии 2.29.

  1. OpenNews: Выпуск miracle-wm 0.10, композитного менеджера на базе Wayland и Mir
  2. OpenNews: Выпуск композитного сервера Niri 26.04, использующего Wayland
  3. OpenNews: Выпуск композитного сервера Hyprland 0.56
  4. OpenNews: Выпуск композитного сервера Wayfire 0.11
  5. OpenNews: Второй тестовый выпуск композитного сервера Xfwl4 от проекта Xfce
Обсуждение (23 +3) | Тип: Программы |
Следующая страница (раньше) >>



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

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