home tags events about rss login

Things happen.

opennet honked 24 Sep 2026 21:00 +0000

Выпуск среды рабочего стола COSMIC 1.9.0

Компания System76, разрабатывающая Linux-дистрибутив Pop!_OS , опубликовала выпуск среды рабочего стола COSMIC 1.9.0 . Пакеты с COSMIC 1.9.0 доступны в дистрибутиве Pop!_OS 24.04 и в ближайшее время ожидаются в Fedora , NixOS , Arch Linux , openSUSE , Aeyrin OS , Redox и CachyOS . Код написан на языке Rust и распространяется под лицензиями GPLv3 (приложения) и MPL-2.0 (библиотеки).

COSMIC развивается как универсальный проект, не привязанный к конкретному дистрибутиву и соответствующий спецификациям Freedesktop. Для построения интерфейса в COSMIC задействована библиотека Iced, которая использует безопасные типы, модульную архитектуру и модель реактивного программирования, а также предлагает архитектуру, привычную для разработчиков, знакомых с языком декларативного построения интерфейсов Elm. Предоставляется несколько движков отрисовки, поддерживающих Vulkan, Metal, DX12, OpenGL 2.1+ и OpenGL ES 2.0+. Разработчикам предлагается готовый набор виджетов, возможность создавать асинхронные обработчики и использовать адаптивную компоновку элементов интерфейса в зависимости от размера окна и экрана.

Помимо использования языка Rust из особенностей COSMIC выделяются режимы гибридной мозаичной компоновки окон и стекового закрепления окон (группировка окон по аналогии со вкладками в браузере), которые могут включаться в привязке к виртуальным рабочим столам. Проектом также разрабатывается композитный сервер cosmic-comp на базе Wayland.

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

  • Реализован просмотрщик изображений COSMIC Viewer, предоставляющий встроенные инструменты редактирования (кадрировние, поворот) с возможностью отмены изменений.
  • Опубликован релиз экранной клавиатуры COSMIC OSK, поддерживающей набор с сенсорного экрана или геймпада.
  • Переработано оформление менеджера приложений COSMIC Store, добавлено отображение имени разработчика.
  • Добавлен апплет для адаптивного показа экранной клавиатуры.
  • В композитном менеджере cosmic-comp реализована возможность показа обоев рабочего стола и экранной клавиатуры на экране блокировки системы.
  • В файловом менеджере cosmic-files в диалог сохранения файла добавлены настройки сортировки.
  • В экран входа в систему cosmic-greeter добавлена опциональная поддержка systemd-homed.
  • Реализовано скрытие всех видимых уведомлений в случае включения режима "не беспокоить".
  • В панели предоставлена настройка толщины рамок.
  • В конфигуратор добавлены настройки экранной клавиатуры и реализована опция для показа дня недели.
  • В cosmic-settings-daemon обеспечена синхронизация настроек шрифтов для приложений GNOME.


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

opennet honked 24 Sep 2026 19:00 +0000

Ubuntu переходит на ускоренный цикл устранения уязвимостей в пакетах с ядром Linux

Компания Canonical объявила о переходе на унифицированный 2-недельный цикл подготовки обновлений пакетов с ядром Linux с публикацией нового обновления каждую неделю. Цикл разработки обновлений сокращён в связи с увеличением интенсивности выявления уязвимостей в ядре Linux. Новый цикл формирования очередного корректирующего обновления пакета с ядром теперь будет запускаться каждую неделю без разделения на обычные обновления и обновления с устранением уязвимостей.

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

Для пользователей, желающих как можно скорее установить исправления уязвимостей и готовых использовать пакет, не прошедший все этапы тестирования, на неделю раньше через репозиторий "proposed" будет предоставляться доступ к предварительным обновлениям. Помимо этого, в в течение 24-48 часов после публичного появления информации об уязвимости компания Canonical будет публиковать возможные обходные пути блокирования уязвимости, а если обходных путей нет, рекомендовать общие меры по усилению защиты. Чтобы пользователи не оставались уязвимыми во время подготовки патча, Canonical обязуется предоставлять безопасные обходные пути или общие рекомендации по усилению защиты в течение 24–48 часов после публичного раскрытия информации об уязвимости.

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

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

continue honked 24 Sep 2026 11:31 +0000

Наш новый альбом «Твари и Мрази» записан, сведён и отмастерен, но в нынешних обстоятельствах публикация этого альбома на любых площадках оказалась невозможной и небезопасной.
Уверены, что рано или поздно это произойдёт.

ПТВП

opennet honked 24 Sep 2026 11:00 +0000

Qualcomm реализует поддержку чипов Snapdragon X2 в Linux

Компания Qualcomm объявила о передаче в основной состав ядра Linux изменений, обеспечивающих поддержку устройств на чипах Snapdragon X2 , оснащённых CPU Qualcomm Oryon (6-18 ядер в зависимости от модели), AI-ускорителем Hexagon (80 TOPS) и GPU Adreno X2-90. Среди прочего будет подготовлен FastRPC-драйвер для NPU Hexagon и добавлена поддержка новых GPU Adreno в Mesa-драйверы Freedreno, Turnip и Rusticl.

Интеграция поддержки Snapdragon X2 в ядро разделена на несколько этапов. В первую очередь будут опубликованы компоненты для обеспечения загрузки и базового запуска системы (в качестве менеджера загрузки поддерживается systemd-boot). На втором этапе будут добавлены драйверы для обеспечения базового ввода/вывода, позволяющие подключать различные периферийные устройства через USB, PCIE и UP (Qualcomm Universal Peripheral). На третьем этапе запланирована работа над поддержкой GPU в Mesa-драйверах Freedreno, Turnip и Rusticl, а на пятом - публикация FastRPC-драйвера для задействования NPU при локальном выполнении AI-моделей. На заключительном этапе будут добавлены драйверы для управления энергопотреблением и контроля над температурой, а также проведена окончательная стабилизация программного стека.

Опубликованные Qualcomm изменения позволят использовать Linux на поступающих в продажу устройствах, оснащённых SoC Snapdragon X2, таких как HP Googlebook 14, Lenovo IdeaPad Vibe, Dell XPS Googlebook, Microsoft Surface Pro 12, Microsoft Surface Laptop 13 и HUMAIN Horizon Ultra. Компании HP, ASUS и HUMAIN изначально будут поставлять свои ноутбуки на базе SoC Snapdragon X2 с платформой Windows, но в первом квартале 2027 года планируют предоставить и официальную поддержку Linux.

Первыми дистрибутивами Linux, для которых будет реализована поддержка Snapdragon X2, станут Debian и Ubuntu. В Debian поддержку планируют интегрировать до конца года, а в Ubuntu - в первом квартале 2027 года (соответствующий анонс уже выпустила компания Canonical). Для желающих протестировать работу Linux на реальном оборудовании не дожидаясь передачи всех изменений в ядро и дистрибутивы, компания Qualcomm открыла доступ к репозиторию с веткой ядра Linux, включающей необходимые патчи, а также предоставила пакеты, скрипты и инструкции по сборке Debian 13 для работы на платах Qualcomm RB1 (QRB2210) и Qualcomm RB3 Gen 2 (QCS6490). Готовые тестовые сборки Debian планируют начать формировать в ближайшее время.

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

continue honked 24 Sep 2026 09:32 +0000

Двадцать-чем-то лет назад я был на концерте Ольги Арефьевой. Это был драйв, живая энергия со сцены. Меня эмоционально тот концерт очень зажёг.

Сейчас Ольга это совершенно другой исполнитель, более камерный. Эй больше не нужно кричать со сцены, что бы быть услышанной.

А я продолжаю следить за ней с интересом:

#ЧтоПослушать #NowPlaying

opennet honked 24 Sep 2026 09:00 +0000

Релиз Chrome 154

Компания Google опубликовала релиз web-браузера Chrome 154 . Одновременно доступен стабильный выпуск свободного проекта Chromium , выступающего основой Chrome. Браузер Chrome отличается от Chromium использованием логотипов Google, наличием системы отправки уведомлений в случае краха, модулями для воспроизведения защищённого от копирования видеоконтента (DRM), системой автоматической установки обновлений, постоянным включением Sandbox-изоляции, поставкой ключей к Google API и передачей RLZ-параметров при поиске. Для тех, кому необходимо больше времени на обновление, отдельно поддерживается ветка Extended Stable, сопровождаемая 8 недель. Следующий выпуск Chrome 155 в рамках нового двухнедельного цикла разработки запланирован на 6 октября.

Основные изменения в Chrome 154 (1, 2, 3, 4):

  • Продолжено развитие AI-режима, позволяющего взаимодействовать с AI-агентом из адресной строки или со страницы, показываемой при открытии новой вкладки. В новой версии пользователям из США предоставлена возможность использования AI-ассистента Gemini для виртуальной примерки одежды при осуществлении покупок в некоторых интернет-магазинах. В Chrome для iOS реализована поддержка голосового общения с Gemini в режиме реального времени, например, для обсуждения содержимого открытой web-страницы.
  • Удалены программные интерфейсы и технологии, развивавшиеся в рамках инициативы Privacy Sandbox для использования вместо сторонних Cookie. Смысл поставки данных API потерян после решения не прекращать в Chrome поддержку сторонних Cookie. Удалены следующие API: Topics (пришёл на смену API FLoC), API Protected Audience, API Shared Storage, API Attribution Reporting, Private Aggregation, API Related Website Sets и requestStorageAccessFor.
  • В версии для платформы Android задействован режим LNP (Local Network Protection), требующий получения отдельного подтверждения для доступа приложения к внутренним интранет-подсетям (192.168.x.x, 10.x.x.x и т.п.). Режим позволяет блокировать атаки на ресурсы в локальной сети и предотвращать сканирования сети с целью скрытой идентификации пользователя и сбора сведений об окружении пользователя.
  • Для выполнения запросов через API Background Fetch теперь требуется получение полномочий LNA (Local Network Access) при отправке данных на серверы в локальной сети (192.168.0.0/16, 10.0.0.0/8 и т.п.) или при обращении к loopback-интерфейсу (127.0.0.0/8). Помимо этого для API Background Fetch применены проверки CORS (Cross-Origin Resource Sharing) для унификации ограничений, применяемых к API Background Fetch и Fetch. Изменения блокируют использование Background Fetch для обхода ограничений Cross-Origin и осуществления CSRF-атак на маршрутизаторы, точки доступа, принтеры, корпоративные web-интерфейсы и другие устройства и сервисы, принимающие запросы только из локальной сети.
  • Добавлен опциональный режим оптимизации "ServiceWorkerAutoPreload", осуществляющий отправку сетевого запроса параллельно с инициализацией Service Worker-а.
  • Добавлен HTML-элемент ‹install› и JavaScript API Web Install (метод navigator.install()), предназначенные для вывода сайтом запроса на установку web-приложения. Установка производится после явного подтверждения операции пользователем. Предложенная возможность может применяться при создании каталогов-магазинов web-приложений или для упрощения установки web-приложений для работы с текущим сайтом.
  • Добавлен API Window Shape (метод window.setShape), позволяющий изолированным web-приложениям изменять форму окна, например, создавать непрямоугольные окна, плавающие панели и перекрывающиеся элементы. API пока доступен только в ChromeOS.
  • Добавлены настройки для управления типами контента, к которым применяется автозаполнение в web-формах. Например, можно отключить сохранение и автозаполнение контактных данных и информации для проведения платежей. Также возможна настройка шаблонов URL для отключения автозаполнения в привязке к отдельным сайтам.
  • По умолчанию включён вывод запроса подтверждения операции при обращении к сайтам по HTTP.
  • Добавлена поддержка адаптивного выбора размера iframe-блоков, автоматически подстраиваемого под содержимое для исключения появления внутренних полос прокрутки. Возможность включается через указание CSS-свойства "frame-sizing" (например, "frame-sizing: content-height") в родительской странице и добавление в заголовок содержимого iframe элемента '‹meta name="responsive-embedded-sizing" content="allow-origins=*"›'.
  • В CSS-свойстве scroll-marker-group реализованы режимы "links" и "tabs" для управление порядком переключения фокуса. В режиме "links" группа маркеров ("::scroll-marker-group") работает как обычное навигационное меню (маркеры прокрутки обрабатываются как ссылки, перебираемые клавишей Tab). В режиме "tabs" группа маркеров работает как набор вкладок, навигация между которыми осуществляется клавишами управления курсом. Также доступно два параметра "before" и "after", которые управляют обработкой группы маркеров относительно контента (при указании "before" маркеры будут обработаны в первую очередь, а "after" - только после завершения навигации по контенту).
  • Реализовано CSS-свойство text-decoration-inset, позволяющее настроить начало и конец отрисовки декораторов (подчёркивание, зачёркивание и т.п.) относительно краёв текста. Например, для сокращения декоратора на 10 пикселей можно указать "text-decoration-inset: 10px;", а для удлинения - "text-decoration-inset: -10px;".
  • В JavaScript-интерфейс Iterator добавлен метод Iterator.prototype.includes для проверки наличия в итераторе определённого элемента.
  • В режиме "Origin trials" реализован механизм Private Verification Tokens (PVT), позволяющий отделять реальных пользователей от ботов через передачу анонимных токенов при открытии сайтов в режиме приватного просмотра, что позволяет обойтись без запроса капчи, обязательной аутентификации и отслеживания через Cookies. Токены отражают прохождение до этого успешной аутентификации или антибот-проверки (уже пройденные на одном сайте проверки используются для подключения к другим сайтам без дополнительных проверок).
  • Кроме нововведений и исправления ошибок в новой версии устранено 108 уязвимостей. 11 проблемам присвоен критический уровень опасности, подразумевающий, что уязвимости позволяют обойти все уровни защиты браузера и выполнить код в системе за пределами sandbox-окружения. 4 критических проблемы вызваны обращением к уже освобождённой памяти (use-after-free) в AdFilter, WindowDialog, ServiceWorker и API Fullscreen, а 7 - переполнением буфера в WebGL, ANGLE и коде для работы с GPU.



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

opennet honked 23 Sep 2026 17:00 +0000

Доступна децентрализованная система отслеживания ошибок git-bug 0.11

Опубликован выпуск проекта 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), а также задействовать верификацию загрузок по цифровой подписи.


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

continue honked 23 Sep 2026 15:49 +0000

Hi @neauoire
New version of drifblim is no longer compatible with uxnmin:

$ cat tictactoe.tal | ./uxnmin drifblim.rom > tictactoe.rom
ERROR: bank 1 unsupported
Usage: in.tal out.rom

opennet honked 23 Sep 2026 14:00 +0000

Дистрибутив Peppermint OS переходит с X.Org Server на XLibre

Разработчики 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.

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

opennet honked 23 Sep 2026 10:00 +0000

Выпуск музыкального проигрывателя Fooyin 0.13

Состоялся выпуск музыкального проигрывателя 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", к которым можно привязать запуск внешних приложений.
  • Предоставлена возможность управления громкостью, зацикливанием и повторным воспроизведением через интерфейс командной строки.
  • Добавлена настройка для блокировки перевода экрана в спящий режим.


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

opennet honked 23 Sep 2026 10:00 +0000

Первый выпуск scan, библиотеки разбора текста для C++ с построением конечного автомата при компиляции

Опубликован первый выпуск библиотеки 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)
    


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

opennet honked 23 Sep 2026 09:00 +0000

Выпуск системного менеджера systemd 262

После трёх месяцев разработки доступен релиз системного менеджера 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.


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

opennet honked 22 Sep 2026 21:00 +0000

Релиз операционной системы NetBSD 10.2

Опубликован релиз операционной системы 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.

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

opennet honked 22 Sep 2026 20:00 +0000

Выпуск операционной системы Solaris 11.4 SRU95

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

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

  • В команде "zpool monitor" реализована поддержка выбора нескольких провайдеров (отслеживаемых подсистем, таких как send, receive, destroy, scrub и resilver) и задания провайдера по умолчанию.
  • Добавлена возможность использования формата CTF (Compact C Type Format) с таблицей отладочных символов .SUNW_ldynsym для вывода информации о типах и именах функций.
  • В компоновщик ld добавлена опция "-zrelax=relocfit" и флаг DF_SUNW_RELAX_RELOCFIT для ELF-файлов, включающие гибкий режим упаковки перемещений адресов (relocation).
  • Обновлены версии программ, среди которых Ansible Core 2.21.1, Apache HTTP Server 2.4.67, BIND 9.20.23, Erlang 28.5.0.2, Firefox 140.10.0esr, Go 1.25.11, MySQL 8.4.10, OpenSSH 10.4p1, Rust 1.96.0, SQLite 3.53.2, Vim 9.2.0513.
  • Устранены уязвимости в 7-Zip, Ansible Core, Apache HTTP Server, Apache Tomcat, BIND, Django, Elixir, Erlang, Firefox, Thunderbird, Go, GnuTLS, ImageMagick, libarchive, libexpat, libgcrypt, libsodium, MySQL, NSS, OpenSSH, Rust, SQLite, Squid, Vim и Wireshark, GNOME , Avahi, curl, libtiff, Memcached, Net-SNMP, ProFTPD, CUPS, jq, Kerberos, Node.js, Perl, Python, Samba и компонентах стека X11.

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

opennet honked 22 Sep 2026 19:00 +0000

Выпуск медиаплеера VLC 3.0.24 с устранением 130 уязвимостей

Представлен выпуск мультимедийного проигрывателя 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.


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

contrinitiator bonked 22 Sep 2026 13:39 +0000
original: petez@mk.phreedom.club

С одной стороны есть намерение сесть в лодку и устроить себе сплав из Оки в Волгу и дальше вниз по течению, сколько влезет. Посмотреть на Дятловых горы в золотой осени. С другой стороны - не хочется суетиться. Нужно делать массу телодвижений: частично собрать разобрать лодку, подготовить снаряжение, отвезти на точку старта. Это лень делать. Очень.

Последние две недели у меня было слишком много работы и слишком мало времени - не было сил даже на вел залезть. Все лишнее уходило в сон. С одной стороны я вроде смог за выходные отдохнуть, с другой стороны - очень не хочется совершать лишних телодвижений. К своим нежеланиям я склонен прислушиваться. С другой стороны - этим летом мне движка не хватило. На велосипед я на этой неделе сяду, а вот пока с псевдопоходом как быть - хз. Оставить себя в покое или выйти из зоны комфорта?

opennet honked 22 Sep 2026 12:00 +0000

Компания Valve представила экспериментальный видеокодек Pyrowave

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

Кодек поддерживает только раздельное кодирование каждого кадра (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 требует более ресурсоёмких вычислений и увеличивает трафик, поэтому отключён по умолчанию и рекомендован для активации при трансляции рабочего стола или необходимости повышения читаемости текста на видео.

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

opennet honked 21 Sep 2026 20:00 +0000

Проект Convey развивает форк почтового клиента Geary

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

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

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


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

opennet honked 21 Sep 2026 19:00 +0000

Выпуск дистрибутива MX Linux 25.3

Опубликован релиз легковесного дистрибутива 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.


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

opennet honked 21 Sep 2026 19:00 +0000

Выпуск утилиты для загрузки web-контента GNU Wget2 2.3.0

Опубликован релиз проекта 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" для визуализации прогресса выполнения загрузки.

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

opennet honked 21 Sep 2026 17:00 +0000

Представлены первые ноутбуки Googlebook, оснащённые Android

Компания 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-ассистенту вопросы о содержимом. Gри помощи 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 кг.


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

continue honked 21 Sep 2026 09:00 +0000

Лекции Петра Рябова -- Апология "Единственного": проповедник полного освобождения личности Макс Штирнер

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

continue honked 21 Sep 2026 08:36 +0000

В связи с распространением контента от генеративных моделей термин "де-генеративное искусство" заиграл новыми красками

continue bonked 21 Sep 2026 06:20 +0000
original: gustav@merveilles.town

Feeling the urge to finally add support for the #uxn file device to uxnfloppy.. and finally boot it from a floppy..

Then just spend the evenings copying roms to floppys.. from uxn :0

opennet honked 20 Sep 2026 19:00 +0000

Valve опубликовала инструментарий Lepton для запуска Android-игр в Linux

Компания 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-окружений.


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

continue bonked 20 Sep 2026 07:50 +0000
original: rl_dane@polymaths.social

@c64whiz

Have you thought about picking up something new?

Try a new OS: One of the BSDs, Haiku, RedoxOS, ArcaOS, AROS?

Try a new programming language: FreePascal/Haiku, Go, Hare, Nim, Zig?

Try a new environment: #uxn, Classic Mac VM, Bootstrapping your own tools on a C64, FreeDOS, PC Engine, RiscOS?

opennet honked 20 Sep 2026 06:00 +0000

Опасные уязвимости в ядре Linux, KVM, Exim, Unbound, Ghostscript и Suricata

Несколько недавно выявленных опасных уязвимостей, позволяющих получить 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 уязвимостей, из которых две помечены как критические. Сведения о проблемах пока не раскрываются, но судя по уровню опасности уязвимости допускают удалённое выполнение кода при обработке специально оформленного трафика.


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

opennet honked 19 Sep 2026 13:00 +0000

Новые версии Wine 11.18 и Wine-staging 11.18

Опубликован экспериментальный выпуск открытой реализации 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-системах.



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

opennet honked 18 Sep 2026 20:00 +0000

Опубликована библиотека управления памятью jemalloc 5.3

Представлен релиз библиотеки управления памятью 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.


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

opennet honked 18 Sep 2026 19:00 +0000

Стабильный выпуск СУБД MariaDB 13.0

Представлен выпуск СУБД MariaDB 12.0.2 , который отмечен как первый стабильный релиз ветки 13.0. Ветка MariaDB 13.0 отнесена к промежуточным выпускам (rolling), продолжающим постепенное развитие функциональности и сопровождаемым до стабильного релиза следующей ветки. Одновременно доступен выпуск MariaDB 13.1.1, имеющий статус кандидата в релизы.

Проектом MariaDB развивается ответвление от MySQL, сохраняющее обратную совместимость и отличающееся интеграцией дополнительных движков хранения и расширенных возможностей. Развитие MariaDB курирует независимая организация MariaDB Foundation в соответствии с открытым и прозрачным процессом разработки, не зависящим от отдельных производителей. MariaDB поставляется вместо MySQL во многих дистрибутивах Linux (RHEL, SUSE, Fedora, openSUSE, Slackware, OpenMandriva, ROSA, Arch Linux, Debian) и внедрён в таких крупных проектах, как Wikipedia, Google Cloud SQL и Nimbuzz.

Среди изменений в ветке MariaDB 13.0:

  • Добавлено выражение "TYPE .. IS REF CURSOR" для объявления ссылочного типа данных для курсора, который может использоваться для возвращения результата SQL-запроса или набора строк из хранимых процедур и функций.
  • Предоставлена возможность использования типа RECORD в параметрах процедур и в значениях, возвращаемых функциями.
  • Добавлен хинт оптимизатора QB_NAME(), позволяющий присвоить имя блоку запроса для последующего применения инструкций по оптимизации этого блока.
  • Добавлена поддержка исполняемых комментариев "/*!! ... */", раскрываемых только в версиях, старее заданной. Например, если в версии MariaDB 10.0 нужно выполнить конструкцию "CREATE OR REPLACE TABLE", а более старых версиях - "CREATE TABLE IF NOT EXISTS":
       CREATE /*!100000 OR REPLACE */ TABLE /*!!100000 IF NOT EXISTS */ t1 ...
    
  • В таблицу INFORMATION_SCHEMA.SYSTEM_VARIABLES добавлен столбец IS_DEPRECATED для пометки устаревших переменных, а в таблицах INFORMATION_SCHEMA.STATISTICS и INFORMATION_SCHEMA.COLUMNS появился столбец CREATE_OPTIONS со сведениями о специфичных для движков возможностях выражения "CREATE TABLE".
  • Предоставлена возможность настройки формата времени, указываемого в логах плагина для проведения аудита.
  • Обеспечено атомарное выполнение операции "CREATE OR REPLACE TABLE".
  • Реализована конструкция "UPDATE ... RETURNING", позволяющая обновить строки и сразу вернуть их изменённые значения.
  • Добавлена переменная innodb_log_archive для включения режима сохранения файлов с WAL-логами (вместо цикличной перезаписи лога в одном файле, после заполнения запись переключается на новый файл).
  • В движке MEMORY ускорена работа индексов (UNIQUE INDEX) для столбцов типа CHAR.


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

undeadly honked 18 Sep 2026 12:00 +0000

GEFS, the "Good Enough File System" on the horizon for OpenBSD

Filesystems on OpenBSD have come in two varieties, UFS1 or UFS2 . Ori Bernstein has set out to possibly introduce a new option, the "Good Enough File System", which Ori describes as

"a new, crash-safe, snapshotting, copy on write FS that I wrote for 9front, and which I am in the process of moving to OpenBSD.

Ori gave a presentation about the work at EuroBSDCon 2026, and posted a summary message titled GEFS on OpenBSD: A very early preview to tech@, inviting hacking and testing:

List:       openbsd-tech
Subject:    GEFS on OpenBSD: A very early preview
From:       ori () eigenstate ! org
Date:       2026-09-15 15:45:05
Message-ID: EBB049B251DCF60A8C9A0575F6FC7DC9 () eigenstate ! org

Before anyone asks: I am *not* proposing to put
this in tree for a while yet.

What is it
----------
So, as people may have seen at EuroBSD, I've got a
rough, buggy, issue-filled preview of GEFS running
on OpenBSD. The port is NOT ready for production,
and data loss is currently expected, especially on
error.

Read more…

contrinitiator honked back 18 Sep 2026 09:58 +0000
in reply to: https://friendica.ironbug.org/objects/3217dd65-216a-ad08-9d44-119723793048

@iron_bug
Конечно, спиртовая настойка в мягком пластике это очень плохая идея! Но этот производитель стремится к монополии, видимо, да ещё и бадяжит свой раствор. Пустырник на спирту быстрее находит дорожку к душе.
@vikingkong

continue bonked 18 Sep 2026 09:10 +0000
original: tibibo@mastodon.ml

Местный Бэнкси. Очень старое его творение. Говорят, на отсутствии головы у курицы - шляпа-цилиндр.

contrinitiator honked 18 Sep 2026 06:28 +0000

Пустырник за 50 рублей, вкуснее и в стекле vs пустырник за 75 и ещё в мягком пластике! Но первый достать сложнее.

opennet honked 18 Sep 2026 02:00 +0000

Выпуск ESP-KVM 0.51.0, открытой прошивки IP-KVM , с записью экрана на microSD

Опубликован выпуск 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, из-за которой на неподвижном экране браузер показывал кадр, предшествующий последнему нажатию клавиши.


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