| · | 25.09 | Опубликован менеджер установки приложений F-Droid 2.0 (8 +3) |
|
Проект F-Droid, развивающий каталог открытых приложений для Android, опубликовал официальное мобильное приложение F-Droid 2.0, в котором задействовано современно оформление в стиле Material Design, переписаны ключевые компоненты, переработана система разделения приложений на категории, упрощены процессы поиска и установки приложений, но при этом сохранены привычные методы работы. Код проекта распространяется под лицензией GPLv3.
По умолчанию осуществляется навигация по каталогу свободных программ f-droid.org, но поддерживается подключение к любому другому совместимому с F-Droid репозиторию. Программа выполняет такие задачи, как уведомление о появлении обновлений, автоматическая загрузка и установка обновлений, отсеивание программ, несовместимых с установленной версией Android, поиск нужных программ, проверка целостности по цифровой подписи. ![]()
Среди изменений:
| ||
|
Обсуждение (8 +3) |
Тип: Программы |
| ||
| · | 25.09 | Доступна система управления версиями Apache Subversion 1.15.0 (13 +2) |
|
Спустя более шести лет с прошлого значительного выпуска организация Apache Software Foundation опубликовала релиз централизованной системы управления версиями Subversion 1.15.0.
Ключевые улучшения Subversion 1.15:
| ||
|
Обсуждение (13 +2) |
Тип: Программы |
| ||
| · | 25.09 | Выпуск Samba 4.25.0 (18 +3) |
|
После 6 месяцев разработки представлен релиз Samba 4.25.0, продолживший развитие ветки Samba 4 с полноценной реализацией контроллера домена и сервиса Active Directory, совместимого с реализацией Windows Server и способного обслуживать все поддерживаемые Microsoft версии Windows-клиентов, в том числе Windows 11. Samba 4 является многофункциональным серверным продуктом, предоставляющим также реализацию файлового сервера, сервиса печати и сервера идентификации (winbind). Код проекта написан на языке Си и распространяется под лицензией GPLv3.
Ключевые изменения в Samba 4.25:
| ||
|
Обсуждение (18 +3) |
Тип: Программы |
| ||
| · | 25.09 | Атаки по сторонним каналам через механизм отслеживания изменений в ФС (37 +10) |
|
Исследователи из Грацского технического университета (Австрия) выявили серию атак по сторонним каналам (PDF), осуществляемых через механизмы отслеживания изменений в файловой системе. Атаки позволяют отслеживать активность других пользователей на основе анализа событий об обращении к файлам и каталогам через такие API, как inotify в Linux, FileObserver в Android, ReadDirectoryChangesW в Windows и File System Events в macOS. Полученные сведения могут использоваться для воссоздания информации, вводимой пользователем с клавиатуры, для определения открываемых сайтов или для организации clickjacking-атак, осуществляющих наложение содержимого на активное окно в момент перед кликом. Код с реализацией методов атак опубликован под лицензией MIT.
Первый метод атаки продемонстрирован в Linux и вызван возможностью определения доступа к файлам внутри каталога, которые напрямую не доступны для чтения и отслеживания. При помощи функции inotifywatch можно косвенно отслеживать факты изменения файлов внутри каталога через мониторинг самого каталога. Напрямую у непривилегированного пользователя нет прав доступа на чтение содержимого и отслеживание активности устройства /dev/input/event4, отражающего события клавиатурного ввода. Но события, происходящие с файлом /dev/input/event4, влияют на состояние родительского каталога и могут отслеживаться через мониторинг изменения метаданных каталога /dev/input. Изменение состояния /dev/input/event4 происходит при вводе данных и задержки между фиксируемыми через inotify событиями коррелируют с задержками между нажатиями клавиш на клавиатуре. Используя методы статистического анализа и учитывая, что при наборе текста задержки между нажатиями зависят от расположения клавиш на клавиатуре, можно с определённой вероятностью воссоздавать вводимую информацию. Например, реакция при вводе буквы "F" быстрее, чем при вводе "Q" или "X", так как для нажатия требуется меньше движений пальцев, также быстрее осуществляется повторное нажатие одной клавиши и нажатие расположенных рядом клавиш ("s" после "a" нажимают значительно быстрее, чем "g" после "s").
Метод также применим для воссоздания ввода в SSH-сеансах при подключении двух разных пользователей к одному SSH-серверу. В этом случае один из пользователей может отслеживать события, возникающие при вводе данных другим пользователем, через мониторинг файла-устройства /dev/pts. Проблема была решена в январских обновлениях ядра 5.10.248, 5.15.198, 6.1.160, 6.6.120, 6.12.65 и 6.18.3 через запрет генерации событий ACCESS и MODIFY для родительского каталога при доступе или изменении специальных файлов внутри него.
Второй способ атаки позволяет определить момент вывода диалога c запросом параметров аутентификации подсистемой Polkit через отслеживание обращения к исполняемому файлу /usr/bin/pkexec.
В этот момент атакующий может сформировать фиктивное окно, стилизованное под диалог ввода пароля, и вывести его поверх реального запроса пароля. Не заметивший подмены пользователь может ввести пароль подтверждения операции в окне атакующего. Возможность проведения подобной атаки продемонстрирована в дистрибутивах со средой рабочего стола KDE Plasma.
Предоставляемый платформой Android API FileObserver можно использовать для отслеживания активности с файлами в приватных каталогах других приложений. Например, анализируя активность в каталоге /sdcard/Android/media/com.whatsapp/WhatsApp можно отследить факты удаления, отправки и получения файлов, видео или изображений в WhatsApp, а также узнать имена отправляемых или получаемых файлов. ![]() В Windows оказалось, что включение отслеживания событий для корневого каталога (C:\) передаёт информацию, включая полный файловый путь, о любых событиях со всеми файлами в файловой системе, независимо от прав доступа к файлам. Исследователями продемонстрирована возможность использования данной особенности для отслеживания в реальном времени того, какие сайты пользователи открывают в Firefox (для БД IndexedDB и кэша в Firefox для каждого сайта создаётся отдельный каталог с именем сайта, обращение к которому можно отследить). Реакция Microsoft на данную проблему с безопасностью выдвинута на премию Pwnies Award 2026 в номинации самая неадекватная реакция производителя (Lamest Vendor Response), так как представители компании вначале заявили, что это не уязвимость, а недокументированная возможность.
| ||
|
Обсуждение (37 +10) |
Тип: Проблемы безопасности |
| ||
| · | 24.09 | Выпуск среды рабочего стола COSMIC 1.9.0 (37 +16) |
|
Компания System76, разрабатывающая Linux-дистрибутив Pop!_OS, опубликовала выпуск среды рабочего стола COSMIC 1.9.0. Пакеты с COSMIC 1.9.0 доступны в дистрибутиве Pop!_OS 24.04 и в ближайшее время ожидаются в Fedora, NixOS, Arch Linux, openSUSE, Aeyrin OS, Redox и CachyOS. Код написан на языке Rust и распространяется под лицензиями GPLv3 (приложения) и MPL-2.0 (библиотеки).
COSMIC развивается как универсальный проект, не привязанный к конкретному дистрибутиву и соответствующий спецификациям Freedesktop. Для построения интерфейса в COSMIC задействована библиотека Iced, которая использует безопасные типы, модульную архитектуру и модель реактивного программирования, а также предлагает архитектуру, привычную для разработчиков, знакомых с языком декларативного построения интерфейсов Elm. Предоставляется несколько движков отрисовки, поддерживающих Vulkan, Metal, DX12, OpenGL 2.1+ и OpenGL ES 2.0+. Разработчикам предлагается готовый набор виджетов, возможность создавать асинхронные обработчики и использовать адаптивную компоновку элементов интерфейса в зависимости от размера окна и экрана. Помимо использования языка Rust из особенностей COSMIC выделяются режимы гибридной мозаичной компоновки окон и стекового закрепления окон (группировка окон по аналогии со вкладками в браузере), которые могут включаться в привязке к виртуальным рабочим столам. Проектом также разрабатывается композитный сервер cosmic-comp на базе Wayland. Среди изменений:
| ||
|
Обсуждение (37 +16) |
Тип: Программы |
| ||
| · | 24.09 | Ubuntu переходит на ускоренный цикл устранения уязвимостей в пакетах с ядром Linux (53 +8) |
|
Компания Canonical объявила о переходе на унифицированный 2-недельный цикл подготовки обновлений пакетов с ядром Linux с публикацией нового обновления каждую неделю. Цикл разработки обновлений сокращён в связи с увеличением интенсивности выявления уязвимостей в ядре Linux. Новый цикл формирования очередного корректирующего обновления пакета с ядром теперь будет запускаться каждую неделю без разделения на обычные обновления и обновления с устранением уязвимостей.
Доведение до пользователя каждого обновления с устранением уязвимостей будет занимать две недели - одна неделя на подготовку, сборку и базовое тестирование пакета и вторая неделя на расширенное тестирование, выявление регрессий и сертификацию. Таким образом, новые версии пакетов с ядром отныне будут публиковаться раз неделю, а максимальная задержка при устранении опасных уязвимостей не будет превышать двух недель.
![]() Для пользователей, желающих как можно скорее установить исправления уязвимостей и готовых использовать пакет, не прошедший все этапы тестирования, на неделю раньше в репозитории "proposed" будет предоставляться доступ к предварительным обновлениям. Помимо этого, в течение 24-48 часов после публичного появления информации об уязвимости компания Canonical будет публиковать возможные обходные пути блокирования уязвимости, а если обходных путей нет, рекомендовать общие меры по усилению защиты. Ранее применялась комбинированная схема при которой раз в 4 недели публиковалось обычное обновление пакетов с ядром, а через две недели после начала цикла формирования очередного обычного обновления отдельно публиковалось обновление, включающее исправления только опасных уязвимостей и важных проблем. Подготовка и тестирование обычных обновлений перед публикацией занимало 4 недели, а промежуточных обновлений с устранением уязвимостей - 2 недели.
| ||
|
Обсуждение (53 +8) |
Тип: К сведению |
| ||
| · | 24.09 | Qualcomm реализует поддержку чипов Snapdragon X2 в Linux (156 +27) |
|
Компания Qualcomm объявила о передаче в основной состав ядра Linux изменений, обеспечивающих поддержку устройств на чипах Snapdragon X2, оснащённых CPU Qualcomm Oryon (6-18 ядер в зависимости от модели), AI-ускорителем Hexagon (80 TOPS) и GPU Adreno X2-90. Среди прочего будет подготовлен FastRPC-драйвер для NPU Hexagon и добавлена поддержка новых GPU Adreno в Mesa-драйверы Freedreno, Turnip и Rusticl.
Интеграция поддержки Snapdragon X2 в ядро разделена на несколько этапов. В первую очередь опубликованы компоненты для обеспечения загрузки и базового запуска системы (в качестве менеджера загрузки поддерживается systemd-boot). На втором этапе будут добавлены драйверы для обеспечения базового ввода/вывода, позволяющие подключать различные периферийные устройства через USB, PCIE и UP (Qualcomm Universal Peripheral). На третьем этапе запланирована работа над поддержкой GPU в Mesa-драйверах Freedreno, Turnip и Rusticl, а на четвёртом - публикация FastRPC-драйвера для задействования NPU при локальном выполнении AI-моделей. На заключительном этапе будут добавлены драйверы для управления энергопотреблением и контролем над температурой, а также проведена окончательная стабилизация программного стека и его доведение до полной готовности для предустановки OEM-производителями. Опубликованные Qualcomm изменения позволят использовать Linux на поступающих в продажу устройствах, оснащённых SoC Snapdragon X2, таких как HP Googlebook 14, Lenovo IdeaPad Vibe, Dell XPS Googlebook, Microsoft Surface Pro 12, Microsoft Surface Laptop 13 и HUMAIN Horizon Ultra. Компании HP, ASUS и HUMAIN изначально будут поставлять свои ноутбуки на базе SoC Snapdragon X2 с платформой Windows, но в первом квартале 2027 года планируют предоставить и официальную поддержку Linux. Первыми дистрибутивами Linux, для которых будет реализована поддержка Snapdragon X2, станут Debian и Ubuntu. В Debian поддержку планируют интегрировать до конца года, а в Ubuntu - в первом квартале 2027 года (соответствующий анонс уже выпустила компания Canonical). Для желающих протестировать работу Linux на реальном оборудовании не дожидаясь передачи всех изменений в ядро и дистрибутивы, компания Qualcomm открыла доступ к репозиторию с веткой ядра Linux, включающей необходимые патчи, а также предоставила пакеты, скрипты и инструкции по сборке Debian 13 для работы на платах Qualcomm RB1 (QRB2210) и Qualcomm RB3 Gen 2 (QCS6490). Готовые для установки тестовые сборки Debian планируют начать формировать в ближайшее время.
| ||
|
Обсуждение (156 +27) |
Тип: К сведению |
| ||
| · | 24.09 | Релиз Chrome 154 (87 –6) |
|
Компания Google опубликовала релиз web-браузера Chrome 154. Одновременно доступен стабильный выпуск свободного проекта Chromium, выступающего основой Chrome. Браузер Chrome отличается от Chromium использованием логотипов Google, наличием системы отправки уведомлений в случае краха, модулями для воспроизведения защищённого от копирования видеоконтента (DRM), системой автоматической установки обновлений, постоянным включением Sandbox-изоляции, поставкой ключей к Google API и передачей RLZ-параметров при поиске. Для тех, кому необходимо больше времени на обновление, отдельно поддерживается ветка Extended Stable, сопровождаемая 8 недель. Следующий выпуск Chrome 155 в рамках нового двухнедельного цикла разработки запланирован на 6 октября.
Основные изменения в Chrome 154 (1, 2, 3, 4):
Кроме нововведений и исправления ошибок в новой версии устранено 108 уязвимостей. 11 проблемам присвоен критический уровень опасности, подразумевающий, что уязвимости позволяют обойти все уровни защиты браузера и выполнить код в системе за пределами sandbox-окружения. 4 критических проблемы вызваны обращением к уже освобождённой памяти (use-after-free) в AdFilter, WindowDialog, ServiceWorker и API Fullscreen, а 7 - переполнением буфера в WebGL, ANGLE и коде для работы с GPU.
| ||
|
Обсуждение (87 –6) |
Тип: Программы |
| ||
| · | 23.09 | Доступна децентрализованная система отслеживания ошибок git-bug 0.11 (29 +5) |
|
Опубликован выпуск проекта git-bug 0.11.0, развивающего систему отслеживания ошибок, хранящую информацию об проблемах и комментарии в форме объектов в репозитории Git. По аналогии с изменениями в исходном коде инструментарий git-bug позволяет помещать информацию об отслеживаемых ошибках во внешние репозитории, используя операцию push, а также извлекать данные из внешнего в локальный репозиторий операцией pull. Код проекта написан на языке Go и распространяется под лицензией GPLv3
Проект git-bug использует обычный репозиторий Git для хранения описаний проблем, базы пользователей и комментариев в версионированном виде. Децентрализованная архитектура Git позволяет работать в offline-режиме с периодической синхронизацией изменений. Из возможностей выделяется поддержка работы с сообщениями об ошибках через командную строку, консольный интерфейс или web-интерфейс, и очень быстрое выполнение операций поиска и навигации по сообщениям об ошибках. Предоставляются прослойки для синхронизации с сервисами отслеживания ошибок GitHub, GitLab, Jira и Launchpad. Основные новшества:
| ||
|
Обсуждение (29 +5) |
Тип: Программы |
| ||
| · | 23.09 | Дистрибутив Peppermint OS переходит с X.Org Server на XLibre (79 +18) |
|
Разработчики Linux-дистрибутива Peppermint OS, построенного на пакетной базе Debian GNU/Linux и предлагающего пользовательское окружение на основе рабочего стола Xfce и файлового менеджера Thunar, анонсировали переход на использование по умолчанию XLibre, форка X.Org Server. XLibre будет задействован в следующем обновлении iso-образов PeppermintOS, до публикации которых для тестирования предложены экспериментальные сборки.
В обозримом будущем Peppermint OS планирует оставаться на стеке X11, так как в среде рабочего стола Xfce намерены продолжать полноценную поддержку X11. По мнению разработчиков Peppermint OS, проект XLibre отлично подходит для пользователей, предпочитающих использовать X11 вместо Wayland, так как в нём продолжена работа по исправлению ошибок, сопровождению, чистке и модернизации оригинальной кодовой базы X.Org Server.
| ||
|
Обсуждение (79 +18) |
Тип: Программы |
| ||
| · | 23.09 | Выпуск музыкального проигрывателя Fooyin 0.13 (165 +12) |
|
Состоялся выпуск музыкального проигрывателя Fooyin 0.13, нацеленного на предоставление расширенных возможностей по настройке и адаптации программы под свои предпочтения. В Fooyin предложен набор виджетов с реализацией различных режимов управления музыкальной коллекцией и воспроизведения музыки. Дополнительные возможности могут подключаться в форме плагинов. Для настройки интерфейса предлагается конфигуратор раскладки элементов на экране. Проект написан на языке С++ с использованием библиотеки Qt и распространяется под лицензией GPLv3. Готовые пакеты сформированы для Fedora, Debian и Ubuntu, а также в формате flatpak.
Поддерживается воспроизведение файлов в формате FLAC, MP3, MP4, Vorbis, Opus, WavPack, WAV, AIFF, Musepack, Monkey's Audio, VGM и различных трекерных форматов. Среди возможностей Fooyin: извлечение сведений о порядке и длительности звуковых треков из CUE-файлов, воспроизведение без пауз (gapless), создание, импорт и экспорт списков воспроизведения в форматах M3U/M3U8, фильтрация содержимого музыкальной библиотеки по любым полям, древовидное представление коллекции, редактирование тегов, визуализации при помощи спектрограмм, навигация на уровне каталогов в файловой системе с возможностью прямого воспроизведения выбранных файлов. Для внешнего управления проигрывателем может использоваться D-Bus-интерфейс MPRIS (Media Player Remote Interfacing Specification). Наиболее заметные улучшения:
![]() ![]()
| ||
|
Обсуждение (165 +12) |
| ||
| · | 23.09 | Первый выпуск scan, библиотеки разбора текста для C++ с построением конечного автомата при компиляции (83 +11) |
Опубликован первый выпуск библиотеки scan
(0.1.0), разбирающей текст в значения по шаблону, известному на этапе
компиляции. Шаблон или формат записывается как аргумент шаблона C++ и
превращается при компиляции в размеченный детерминированный конечный автомат (tagged deterministic finite automaton, TDFA), обход которого разворачивается по состояниям в код на этапе компиляции с использованием шаблонов C++. Результатом выполнения является значение запрошенного типа. Код проекта написан на C++23 и распространяется под лицензией GPLv3.
import scan;
// Совпадает ли вся строка. Каждая точка входа - ещё и адаптор диапазона.
scan::match<"[a-z]+@[a-z.]+">(address);
address | scan::match<"[a-z]+@[a-z.]+">;
// С группами.
const auto found = scan::match<"([0-9]+)-([a-z]+)">("42-abc");
found.get<1>().to_view(); // "42"
// Начало строки, занятое шаблоном, и первое совпадение где угодно.
scan::starts_with<"[a-z]+">("abc123").whole().to_view(); // "abc"
scan::search<"[0-9]+">("id=4210x").to_view(); // "4210"
// Все совпадения и куски между ними - ленивые представления.
for (const auto& one : text | scan::search_all<"[a-z]+">) { ... }
const auto fields = "a,bb,,ccc" | scan::split<","> | std::ranges::to<std::vector>();
// Значения, а не текст.
struct row { int id; std::string_view name; };
const row one = scan::scan<"{},{[a-z]+}">(line);
// Список, сумма типов, вложенная форма.
struct all { std::vector<int> values; std::variant<int, std::string_view> tail; };
const all got = scan::scan<"{{}{*,?}} {{[0-9]+}|{[a-z]+}}">("1,2,3 abc");
// Начало ввода и то, что от него осталось.
const auto [value, rest] = scan::scan_prefix<"{},{}">(line).take<point>();
// По записи за раз, из чего угодно.
for (const row& one : scan::each<"{},{[a-z]+}\\n">(text).of<row>()) { ... }
Диапазон, который можно прочитать лишь однажды, читается без буферизации, поля собираются по мере поступления символов. Сколько символов придётся удержать, шаблон задаёт при компиляции; там, где такого числа нет, чтение отклоняется при компиляции.
std::istringstream source("set speed 42\\nset gain 7\\n");
source > std::noskipws;
struct command { scan::held<16> name; int value; };
for (const command& one :
scan::each<"set {[a-z]+} {[0-9]+}\\n">(std::views::istream<char>(source))
.of<command>()) { ... }
Производительность.
Замеры проведены на Ryzen 9 9950X, clang 22.1.8 с libc++, -O3 -march=native,LTO. Тридцать две записи за проход, медиана семи проходов.
"([a-z]+),([a-z]+),([a-z]+),([a-z]+),([a-z]+)" "alpha,bravo,charlie,delta,echo"
scan::scan<f>.sentinel() 477 нс
re2c 554 нс
scan::scan<f> 659 нс
CTRE 717 нс
RE2 15986 нс
те же пять полей, по двести букв каждое
scan::scan<f>.sentinel() 57.8 нс
re2c 637 нс
CTRE 692 нс
RE2 11751 нс
"[email protected]" распознавание, ничего не извлекается
scan::match<p>.sentinel().scalar() 436 нс
scan::match<p>.scalar() 545 нс
re2c 1186 нс
RE2 2616 нс
CTRE 14339 нс
Свёртка групп по ходу разбора
Типу сообщается, к какой из его групп относится очередной символ, и вычисление выполняется на месте: ни одна итерация цикла не сохраняется, ни одной подстроки не создаётся.
struct tally { unsigned long value = 0; };
struct reading { tally number; std::string_view tail; };
template <>
struct scan::scanner<tally> {
static constexpr std::string_view pattern() { return R"(\\(((_+)(X|Y)*)*\\))"; }
struct state_type { unsigned long total = 0; unsigned place = 0, marks = 0; };
static constexpr state_type begin_groups() { return {}; }
static constexpr void opened_group(state_type& one, scan::group_at<0>) {
one.place = 0; one.marks = 0;
}
static constexpr void closed_group(state_type& one, scan::group_at<0>) {
unsigned long weight = 1;
for (unsigned step = 1; step < one.place; ++step) weight *= 10;
one.total += weight * one.marks;
}
static constexpr void push_group(state_type& one, scan::group_at<1>, char) {
++one.place;
}
static constexpr void push_group(state_type& one, scan::group_at<2>, char letter) {
one.marks += letter == 'Y' ? 2u : 1u;
}
static constexpr tally finish_groups(state_type one) { return {one.total}; }
};
const reading got =
scan::scan<"value={}{[a-z]*}">("value=(__X_XX)abcdefgh").of<reading>();
// got.number.value == 12, got.tail == "abcdefgh"
Контексты и аллокаторы Любой объект вызывающей стороны - аллокатор, пул, арену, что угодно ещё - можно передать в тот вызов, который создаёт значение. Тип контекста при этом не теряется: состояние сканера и каждый его хук могут быть шаблонами по нему, так что в сканере не упомянут ни один тип вызывающей стороны.
struct arena {
std::pmr::memory_resource* where = nullptr;
std::pmr::memory_resource* resource() const { return where; }
};
struct numbers { std::pmr::vector<int> values; };
struct both { numbers left; numbers right; };
template <>
struct scan::scanner<numbers> {
static constexpr std::string_view pattern() { return "([0-9]+)(?:,([0-9]+))*"; }
template <class Told>
struct state { std::pmr::vector<int> values; int running = 0; };
static state<scan::default_context_t> begin_groups() { return {}; }
template <class Told>
requires requires(const Told& one) { one.resource(); }
static state<Told> begin_groups(const Told& told) {
return {std::pmr::vector<int>(told.resource()), 0};
}
template <class Told, std::size_t Which>
static void push_group(state<Told>& one, scan::group_at<Which>, char digit) {
one.running = one.running * 10 + (digit - '0');
}
template <class Told, std::size_t Which>
static void closed_group(state<Told>& one, scan::group_at<Which>) {
one.values.push_back(one.running);
one.running = 0;
}
template <class Told>
static numbers finish_groups(state<Told> one) { return {std::move(one.values)}; }
};
std::pmr::monotonic_buffer_resource bytes;
const arena mine{&bytes};
scan::scan<"{} {}">(text).of<both>(mine); // один на оба места
scan::scan<"{} {}">(text).of<both>(mine, scan::default_context); // по одному на место
scan::scan<"{} {}">(text).of<both>({mine, scan::default_context}); // то же в скобках
const both got = scan::scan<"{} {}">(text).with(mine);
// Контексту не обязательно быть своим типом: аллокатор доходит до того,
// что строит чтение.
struct two { std::pmr::string name; std::pmr::string tail; };
const two kept = scan::scan<"{[a-z]+} {[a-z]+}">(text).of<
Хук получает сам объект вызывающей стороны, а не копию, поэтому состояние
может хранить его адрес: контекст живёт столько же, сколько вызов, а всё чтение происходит внутри этого вызова.
Собирается в clang и GCC. Модули C++ не обязательны: доступны заголовочные файлы (include/), которые генерирует из тех же модулей утилита demodulizer - каждый push в main пересобирает, линкует и коммитит их обратно. Единственная зависимость, Boost.PFR, не нужна при включённых binding packs из C++26.
FetchContent_Declare(scan
GIT_REPOSITORY https://github.com/j4niwzis/scan.git
GIT_TAG v0.1.0)
FetchContent_MakeAvailable(scan)
target_link_libraries(mine PRIVATE scan::scan)
| ||
| · | 23.09 | Выпуск системного менеджера systemd 262 (151 –22) |
|
После трёх месяцев разработки доступен релиз системного менеджера systemd 262. В новой версии реализовано встраивание в процесс минимального набора unit-файлов, обеспечена поддержка сборки со статическим связыванием, проведена интеграция c dm-clone для клонирования блочных устройств, добавлено ведение БД установленных файлов в systemd-sysupdate и обеспечена криптографическая верификация отчётов systemd-report.
Среди изменений в новом выпуске:
| ||
|
Обсуждение (151 –22) |
Тип: Программы |
| ||
| · | 22.09 | Релиз операционной системы NetBSD 10.2 (46 +17) |
|
Опубликован релиз операционной системы NetBSD 10.2, который отнесён к категории корректирующих обновлений и включает в основном исправления проблем и уявзимостей, выявленных с момента публикации NetBSD 10.1 в декабре 2024 года. Ветка NetBSD 10 будет поддерживаться до релиза NetBSD 12.0. Для загрузки подготовлены установочные образы размером 639 МБ, доступные в сборках для 57 системных архитектур и 16 различных семейств CPU. Для новых установок рекомендуется использовать недавно опубликованный релиз NetBSD 11.0.
Из не связанных с исправлением ошибок изменений отмечается поддержка новых версий компиляторов, повышение стабильности работы WiFi-драйвера iwm, решение проблем при работе на системах Olimex A64 и MIPS R5000SC, реализация возможности загрузки ядра для amd64 при вызове qemu с опцией "-kernel". Добавлена поддержка устройств ASIX AX88179A USB Ethernet, Asus USB-N10 Nano B1 Wi-Fi, Realtek RTL8126 5Gbps Ethernet, RTL8125D (rev 0x6890000), RIoTboard i.MX6S IOMUX, VMware PV SCSI. Устранены уязвимости в ipfilter, telnet, TCP-стеке ядра, OpenSSL, Unbound и X.Org. Обновлены версии openssl 3.0.21, tmux 3.6a и xkbcomp 1.5.0.
| ||
|
Обсуждение (46 +17) |
Тип: Программы |
| ||
| · | 22.09 | Выпуск операционной системы Solaris 11.4 SRU95 (45 +9) |
|
Компания Oracle опубликовала выпуск операционной системы Solaris 11.4 SRU 95 (Support Repository Update), в котором предложена серия значительных изменений и улучшений для ветки Solaris 11.4. Для установки предложенных в обновлении исправлений достаточно выполнить команду 'pkg update'. Пользователи также могут воспользоваться бесплатной редакцией Solaris 11.4 CBE (Common Build Environment), развиваемой с использованием модели непрерывной публикации новых версий.
Среди изменений в новой версии:
| ||
|
Обсуждение (45 +9) |
Тип: Программы |
| ||
| Следующая страница (раньше) >> | ||
|
Закладки на сайте Проследить за страницей |
Created 1996-2026 by Maxim Chirkov Добавить новость, Поддержать |