| · | 24.03 |
Релиз Firefox 149 с VPN и режимом разделения экрана (15) |
| |
Состоялся релиз web-браузера Firefox 149 и сформированы обновления прошлых веток с длительным сроком поддержки - 140.9.0 и 115.34.0. На стадию бета-тестирования в ближайшие часы будет переведена ветка Firefox 150, релиз которой намечен на 21 апреля.
Основные новшества в Firefox 149 (1, 2, 3):
- Включена поддержка режима Split View, позволяющего бок о бок в одном окне просмотреть содержимое двух вкладок. Режим активируется через кнопку "Add Split View" в контекстном меню, показываемом при клике правой кнопкой мыши на вкладках. При нажатии данной кнопки содержимое окна разделяется на две части и в правой части открывается содержимое страницы новой вкладки. Если выбрать опцию для группы из двух вкладок, указанные вкладки сразу будут раскрыты рядом с друг другом. Допускается произвольное изменение размера правой и левой области просмотра через перетаскивание мышью полосы-разделителя. Активная вкладка при одновременном просмотре выделяется красной рамкой.
- В состав интегрирован бесплатный VPN-сервис Firefox VPN (не путать с Mozilla VPN), позволяющий обращаться к сайтам не напрямую, а через промежуточные прокси-серверы в разных странах, скрывающие IP-адрес пользователя. Имеется возможность включать VPN только для выбранных сайтов. Для активации VPN необходима регистрация учётной записи в Mozilla. На первом этапе VPN-сервис доступен пользователям из США, Франции, Германии и Великобритании. В VPN-сервисе действует ограничение в 50 гигабайт трафика в месяц.
- Добавлена функция Tab Notes для прикрепления произвольных примечаний к вкладкам. Кнопка для добавления заметок помещена в контекстное меню и также показывается на эскизе, появляющемся при наведении курсора на вкладке. Для включения можно использовать настройку "browser.tabs.notes.enabled" на странице about:config или опцию в секции Firefox Labs на странице с настройками (about:preferences#experimental).
- Предложена панель TrustPanel, вызываемая при нажатии на пиктограмму с изображением щита перед адресной строкой и комбинирующая ранее выводимые раздельно панели c параметрами приватности и безопасности.
- Добавлена защита от отправки нечистыми на руку сайтами фоновых уведомления для рекламы, спама и фишинга. Уведомления теперь автоматически блокируются, а предоставленные полномочия отзываются для любых сайтов, помеченных вредоносными сервисом SafeBrowsing.
- Для ускорения вывода PDF-файлов задействовано аппаратное ускорение.
- В конфигуратор панели (Customize Toolbar) добавлена возможность добавления на панель кнопки Share для отправки текущей вкладки другим пользователями и на другие устройства при помощи предоставляемых платформами Windows и macOS системных сервисов обмена информацией.
- Для уменьшения поверхности атаки ужесточены требования к JavaScript-файлам, которые могут запускаться в родительском процессе, отвечающим за запуск дочерних процессов и базовую функциональность браузера, такую как интерфейс, профили, управление процессами и навигация.
- Переделано оформление страниц, показываемых при возникновении ошибок при попытке открытия сайтов.
- На платформе Linux вместо диалога GTK3 по умолчанию теперь используется XDG-портал org.freedesktop.portal.FileChooser, предоставляющий более функциональный интерфейс для выбора файлов.
- Повышена надёжность загрузки с использованием протокола HTTP/3 при нестабильном сетевом соединении.
- На платформе Windows для доступа к информации о местоположении задействован API Windows.Devices.Geolocation вместо старого API времён Windows 7.
- Реализация декодировщика формата изображений JPEG XL переведена на использование библиотеки jxl-rs, написанной на языке Rust. Поддержка JPEG XL пока отключена по умолчанию и требует активации параметра "image.jxl.enabled" на странице about:config.
- В инструментах для web-разработчиков в панель инспектирования хранилища добавлена кнопка для удаления всех записей в выбранном хранилище. В панели работы со стилями рядом с каждым CSS-элементом, связанным с показываемым в секции "Computed" вычисляемым значением, добавлена пиктограмма для перехода к этому элементу в секции "Rules".
- Добавлена возможность вызова предоставляемой браузером реализации выпадающего меню при помощи метода showPicker() для
показа рекомендаций автозаполнения текстового поля <input type="text"> на основе вариантов, определённых в блоке <datalist>.
- В CSS-свойство "shape-outside" добавлена поддержка функций rect() и xywh() для формирования области обтекания текста. Ранее данные функции поддерживались только в CSS-свойствах clip-path и offset-path.
- Для выбора шрифта с дополнительными математическими символами в CSS-свойство "font-family" добавлена поддержка значения "math", которое также используется по умолчанию для шрифта при выводе содержимого элемента <math>.
- В HTML-элементы добавлена поддержка атрибута 'popover="hint"', позволяющего отображать автоматически скрываемые всплывающие подсказки, не приводящие к скрытию других типов всплывающих popover-блоков.
- Для мультимедийных элементов (<audio>, <video>)
включена поддержка псевдо-классов
":playing",
":paused",
":seeking",
":muted",
":buffering",
":stalled" и ":volume-locked".
- Включена соответствующая требованиям спецификации реализация API HTMLMediaElement.captureStream(), позволяющего захватывать содержимое, отрисовываемое при помощи HTMLMediaElements (например, контент, выводимый через теги video и audio).
- Добавлен API Reporting для получения информации о различных возможностях и проблемах, таких как нарушении правил CSP (Content Security Policy), Permissions-Policy, Integrity-Policy, Cross-Origin-Embedder-Policy, а также использовании устаревшей функциональности.
- Реализован API CloseWatcher, позволяющий отслеживать в web-приложениях Close-запросы и реагировать на их поступление (например, можно создать обработчик нажатия кнопки "назад" на Android-смартфоне). Close-запросы формируются при попытке закрытия модальных (<dialog>) и всплывающих диалогов (popover="") через нажатие клавиши Esc, использование кнопки "назад" или экранный жест на смартфонах.
- В версии
Firefox для Android проведена работа по улучшению навигации и обновлены панель инструментов, список вкладок и меню. Добавлена возможность закрытия всплывающих popover-элементов и диалогов системной кнопкой "назад".
Кроме новшеств и исправления ошибок в Firefox 149 устранено 70 уязвимостей. 55 уязвимостей вызваны проблемами работы с памятью, такими как переполнения буферов и обращение к уже освобождённым областям памяти. Потенциально данные проблемы способны привести к выполнению кода злоумышленника при открытии специально оформленных страниц.
- Главная ссылка к новости
- OpenNews: Релиз Firefox 148 с настройкой для отключения AI
- OpenNews: Макеты обновлённого интерфейса Firefox, развиваемого под кодовым именем Nova
- OpenNews: До 10% аварийных завершений Firefox вызваны аппаратными проблемами с памятью
- OpenNews: Выпуск Firefox 148.0.2. Продление поддержки Firefox 115. Проверка Firefox AI-моделью Claude Opus
|
|
|
| |
|
|
| · | 24.03 |
Доступен TypeScript 6.0, последний выпуск с компилятором на JavaScript (97 +6) |
| |
Компания Microsoft опубликовала релиз TypeScript 6.0, языка для разработки web-приложений, расширяющего возможности JavaScript, и связанного с ним инструментария. Код компилятора, транслирующего код TypeScript в представление JavaScript, распространяется под лицензией Apache 2.0, разработка ведётся в публичном репозитории через сервис GitHub. Спецификации языка открыты и опубликованы в рамках соглашения Open Web Foundation Specification Agreement.
Язык TypeScript расширяет возможности JavaScript, оставаясь полностью обратно совместимым, что упрощает перевод существующих приложений на TypeScript. Итоговое приложение на TypeScript компилируется в обычный JavaScript, который можно выполнить в любом современном web-браузере или использовать c платформами Node.js, Bun и Deno. В программах на TypeScript можно использовать существующие JavaScript-библиотеки. От JavaScript язык TypeScript отличается средствами для явного определения типов, а также поддержкой использования полноценных классов. Статическая типизация позволяет избежать многих ошибок в процессе разработки, даёт возможность задействовать дополнительные техники оптимизации, упрощает отладку, делает код более читаемым и простым для доработки и сопровождения.
Ветка TypeScript 6.0 отмечена как последняя, поставляемая с компилятором на языке TypeScript, транслируемом в JavaScript. В ветке TypeScript 7.0 проект перейдёт на новый компилятор typescript-go (tsgo), разрабатываемый с 2024 года на языке Go. Новый компилятор существенно увеличит скорость сборки, уменьшит потребление памяти и сократит время запуска редакторов кода, что решит наблюдаемые ныне проблемы с масштабированием при использовании в очень больших проектах. Также будет предоставлен компактный инструментарии командной строки, позволяющий быстро собирать код для проверки его работоспособности.
Ветка TypeScript 6.x продолжает поставляться со старым компилятором, но включает отдельные изменения для подготовки к миграции на новую реализацию. Впуск TypeScript 6.0 позиционируется как
связующее звено между ветками TypeScript 5.9 и 7.0, и содержит изменения, главным образом нацеленные на упрощение будущего перехода на ветку TypeScript 7.0. Для тестирования доступен предварительный выпуск TypeScript 7.0, опубликованный в форме дополнения к VSCode и NPM-пакета. После релиза TypeScript 7.0 ветки 6.x и 7.x будут сосуществовать и сопровождаться параллельно до тех пор, пока ветка TypeScript 7.x не достигнет зрелого состояния, готового полностью заменить старый инструментарий.
Среди изменений в TypeScript 6.0:
- Реализована возможность использования префиксов "#/" в стиле Node.js для импорта псевдонимов модулей, определённых внутри пакета, вместо указания относительных путей. Например, 'import * as utils from "#root/utils.js"' вместо 'import * as utils from "../../utils.js'.
- Добавлен флаг "--stableTypeOrdering" для включения применяемого в ветке TypeScript 7 алгоритма детерминированной сортировки типов внутри компилятора, гарантирующего одинаковый порядок определения типов в любых окружениях. Режим рекомендуется использовать только для диагностики возможных проблем перед переходом на ветку TypeScript 7, так как его включение в TypeScript 6.0 может замедлить компилятор на 25%.
- Реализованы встроенные типы для API Temporal, предлагающего альтернативные методы для работы с датами и временем, позволяющие манипулировать датами с учётом и без учёта часовых поясов, конвертировать время, форматировать вывод и выполнять арифметические операции со временем.
- Добавлены типы для upsert-методов getOrInsert и getOrInsertComputed в объектах Map и WeakMap, возвращающих уже имеющееся в коллекции значение, ассоциированное с указанными ключом, или создающих новую запись, если ключа не нашлось.
- Добавлена поддержка функции RegExp.escape, экранирующей спецсимволы в строках для
из безопасного использования в качестве шаблона внутри регулярных выражений, задаваемых через конструктор RegExp().
- Изменены настройки по умолчанию:
- Параметр rootDir теперь указывает на текущий каталог ".", в котором размещён файл конфигурации tsconfig.json, в не на типовой каталог с исходным кодом.
- Поле "types" в tsconfig.json теперь определяется как "[]" вместо "["*"]", т.е. TypeScript теперь по умолчанию не включает все пакеты из "node_modules/@types" и требует явного указания глобальных пакетов (например, ["node", "jest"])). Изменение приводит к сокращению времени компиляции на 20-50%.
- Значение target теперь включает актуальную версию ECMAScript (es2025). В поле tagret объявлена устаревшей версия es5 (ECMAScript 5), в качестве минимальной заявлена версия es6 (ECMAScript 2015).
- По умолчанию активирован режим strict для строгой проверки типов.
- Параметр module по умолчанию выставлен в значение "esnext", включающем поддержу JavaScript-модулей (ESM) с директивами import и export, вместо устаревшего формата CommonJS.
- Для повышения производительности компилятора объявлены устаревшими:
- Опция "--baseUrl".
- Использование ключевого слова module для определения пространств имён модулей ("module Foo { ... }" вместо "namespace Foo { ... }").
- Опция "--outFile " (следует использовать внешние упаковщики, такие как esbuild, Rollup, и Webpack);
- Режим "--moduleResolution: classic" (рекомендуется использовать nodenext или bundler).
- Главная ссылка к новости
- OpenNews: Microsoft переписывает компилятор TypeScript на языке Go
- OpenNews: Опубликована платформа Node.js 23.0 с начальной поддержкой языка TypeScript
- OpenNews: Предложен компилятор исходных текстов на языке TypeScript в машинный код
- OpenNews: Доступен язык TypeScript 2.0, продвигаемый Microsoft в качестве дополнения к JavaScript
|
|
|
| |
|
|
| · | 24.03 |
Создан форк systemd без хранения возраста. GrapheneOS отказался верифицировать возраст (162 +40) |
| |
Основан форк системного менеджера systemd, позиционируемый как вариант, избавленный от кода, который может использоваться для слежки за пользователями. Создатель форка намерен поддерживать кодовую базу синхронизированной с веткой main из основного репозитория systemd. В настоящее время изменения сводятся к удалению недавно принятого в systemd кода, добавляющего в userdb поле birthDate с датой рождения пользователя, а в утилиту homectl опцию "--birth-date' для установки возраста.
В качестве причины хранения возраста в userdb заявлена подготовка к реализации требований законов об интеграции в операционные системы API для проверки возраста, принятых в некоторых штатах США и в Бразилии. Добавленное поле сможет использоваться в развиваемом для дистрибутивов портале xdg-desktop-portal и сервисе AccountsService для выдачи приложениям сведений о возрастной категории пользователя через D-Bus интерфейс "org.freedesktop.AgeVerification1" или "org.freedesktop.ParentalControls".
Дополнительно можно отметить заявление проекта GrapheneOS, разрабатывающего защищённую свободную прошивку на базе Android, об отказе выполнять требования законов о верификации возраста. Указано, что GrapheneOS не будет требовать от пользователей передачи личной информации, идентификации или привязки к учётной записи. Сервисы и платформа будут предоставляться во всех странах без ограничений. Если в каких-то странах из-за отсутствия верификации возраста нельзя будет продавать устройства с GrapheneOS, то так тому и быть.
- Главная ссылка к новости
- OpenNews: Доступен системный менеджер systemd 260
- OpenNews: Motorola и GrapheneOS объявили о сотрудничестве в области создания защищённых смартфонов
- OpenNews: В Калифорнии утверждён законопроект об интеграции в ОС API для проверки возраста
- OpenNews: Создан дистрибутив Ageless Linux для противодействия законам о проверке возраста
- OpenNews: Проект Arch Linux 32 заблокировал доступ из Бразилии из-за закона о верификации возраста
|
|
|
| |
|
|
| · | 23.03 |
Релиз фреймворка Qt 6.11 (121 +10) |
| |
Компания Qt Company опубликовала релиз фреймворка Qt 6.11, в котором продолжена работа по стабилизации и наращиванию функциональности ветки Qt 6. В Qt 6.11 предоставлена поддержка платформ Windows 10+, macOS 13+, Linux (Ubuntu 22.04/24.04, openSUSE 15.6/16, SUSE 15 SP6, RHEL 8.10/9.6/10, Debian 11.6/12), iOS 17+, Android 9+(API 23+), webOS, WebAssembly, INTEGRITY, VxWorks, FreeRTOS и QNX. Исходные тексты компонентов Qt поставляются под лицензиями LGPLv3 и GPLv2. Qt 6.11 получил статус промежуточного выпуска, общедоступная поддержка которого будет осуществляться 6 месяцев (+ ещё 6 месяцев для коммерческих пользователей).
Основные изменения в Qt 6.11:
- Добавлен модуль Qt Canvas Painter, предоставляющий API для аппаратно ускоренной отрисовки 2D-контента, построенный с оглядкой на HTML-спецификацию Canvas 2D Context. Для отрисовки задействован движок RHI (Rendering Hardware Interface), поддерживающий различные 3D API (OpenGL, Vulkan, Metal и Direct 3D), благодаря чему удалось добиться существенного повышения производительности. В проведённых тестах Qt Canvas Painter оказался быстрее QPainter с бэкендом OpenGL в 2 раза на типовом ноутбуке Lenovo ThinkPad P16 Gen 2, в 5 раз на бюджетном Android-планшете Lenovo Tab M10 HD и в 10 раз на топовом Android-планшете Samsung Galaxy Tab S8.
Помимо высокой производительности в Qt Canvas Painter реализована поддержка таких расширенных возможностей, как настраиваемое сглаживание (antialiasing), обрамляющие градиенты и тени (QCanvasBoxGradient и QCanvasBoxShadow наподобие CSS-свойства box-shadow), сетчатые шаблоны (QCanvasGridPattern), пользовательские шейдерные кисти и цветовые эффекты для изменения прозрачности, яркости, контраста и насыщенности.
- Функциональность модуля Qt Quick 3D приближена к возможностям игровых движков. Добавлена поддержка техники рендеринга
SSGI (Screen Space Global Illumination) для симуляции отражения света от поверхностей на стадии пост-обработки (альтернатива запеканию карт освещения (lightmap)) и SSR (Screen Space Reflections) для реалистичной отрисовки отражений в реальном времени. Алгоритм сглаживания движущихся объектов улучшен за счёт генерации векторов движения для каждого объекта. Реализованы настраиваемые проходы рендеринга (render-pass), которые можно использовать напрямую из QML для масок слоёв, эффектов пост-обработки и определения объектов по цвету (color picking). Добавлены новые программные интерфейсы для слоёв и тегов, позволяющие управлять отдельными проходами рендеринга, включением элементов на разных этапах конвейера рендеринга (render pipeline) и перенаправлением в целевые буферы рендеринга.
- Расширены возможности модуля Qt Graphs. Добавлен тип CustomSeries, позволяющий создавать собственные графики, в которых за отрисовку каждого элемента данных отвечает заданный пользователем делегат. В
3D-графиках реализована поддержка нескольких экземпляров осей, например, в QBar3DSeries можно использовать отдельные оси для rowAxis, valueAxis и columnAxis, а в QScatter3DSeries и QSurface3DSeries - отдельные оси для axisX, axisY и axisZ. Добавлены новые свойства для переопределения цветов для отдельных осей, настройки градиентов на графиках, изменения стиля линий, позиционирования меток. Добавлен пример создания настраиваемых 2D- и 3D-графиков - Wind Turbine Dashboard.
- Добавлен экспериментальный модуль Qt TaskTree, предоставляющий декларативный подход для создания и выполнения асинхронных задач на C++. Ключевыми компонентами Qt TaskTree являются: "рецепты" - повторно используемые объекты, описывающие асинхронный рабочий процесс; "группы" - определяют политики для дочерних задач; "хранилище" для совместного использования данных между задачами; "итераторы" для циклов и повторного выполнения задач. Qt TaskTree также решает проблему несовместимости между API, унифицируя различные асинхронные API в типовой интерфейс.
- Расширены возможности для работы с анимированной векторной графикой, формируемой из изображений в форматах SVG и Lottie. Стабилизированы модуль Qt Quick VectorImage и инструмент lottietoqml.
Добавлена поддержка морфинг-анимации, масок SVG, символов SVG и слоёв-масок (matte layer, для управления видимостью другого слоя).
- В Qt Quick Controls добавлен компонент DoubleSpinBox. В DialogButtonBox реализована возможность управления обработкой кнопок по умолчанию. В эффекте RectangularShadow появилось независимое управление радиусами углов.
- В Qt Widgets в QWizard добавлена опция StretchBanner; в QAbstractItemView реализован параметр keyboardSearchFlags для настройки поведения поиска по мере нажатия клавиш; в QColumnView добавлено свойство для управления видимостью предпросмотра.
- Добавлен модуль Qt OpenAPI, позволяющий сгенерировать код HTTP-клиента, использующего Qt Networks RESTful API, на основе спецификации OpenAPI в формате YAML.
- В модуль Qt GRPC добавлен механизм для управления потоком и содержимым запросов и ответов.
- В модуле Qt HTTP Server расширены средства управления лимитами и улучшена обработка ответов в рабочем потоке. В QNetworkRequest появилась возможность настройки параметров TCP Keep Alive (по умолчанию неактивные соединения автоматически завершаются через 2 минуты).
- В QML Language Server, применяемый для интеграции с IDE, добавлена информация о месте определения типа QML в коде C++ для упрощения навигации между QML и C++ из IDE - при работе с C++ кодом можно находить QML объекты по идентификаторам и легко обходить иерархию QML-контекстов.
- В дополнение к QRangeModel реализован класс QRangeModelAdapter, предоставляющий C++ API для изменения данных модели, взаимодействуя через протокол QAbstractItemModel, что упрощает передачу данных из кода бэкенда на C++ в Qt Quick или Qt Widget.
- Добавлена поддержка платформы Android 16. Реализована функциональность Google Play Feature Delivery для разделения приложения на пакеты (основной пакет устанавливается из Google Play сразу, а дополнительные подгружаются по мере необходимости). Для Android Automotive реализована поддержка запуска Qt без Android-зависимостей для быстрого старта отрисовки.
Дополнительно можно отметить опубликованный на днях релиз интегрированной среды разработки Qt Creator 19, предназначенной для создания кроссплатформенных приложений с использованием библиотеки Qt. Поддерживается как разработка классических программ на языке C++, так и использование языка QML, в котором для определения сценариев используется JavaScript, а структура и параметры элементов интерфейса задаются CSS-подобными блоками. Готовые сборки сформированы для Linux, Windows и maсOS.
Из новшеств выделяется режим minimap (Preferences > Text Editor > Display > Enable minimap), выводящий рядом с полосой прокрутки мини-эскиз всего содержимого, позволяющий разом охватить взглядом весь код.
В состав встроен простой MCP-сервер для интеграции с AI-ассистентами, позволяющий открывать файлы и проекты, запускать сборку, производить отладку. Упрощена настройка сборки на внешних устройствах - добавлена кнопка Run Auto-Detection для автоматического определения версии Qt, компилятора, отладчика и CMake после регистрации устройства. Реализована поддержка прямого доступа к файловым системам подключённых устройств, Android-устройств и эмуляторов.
- Главная ссылка к новости
- OpenNews: Релиз среды разработки Qt Creator 18
- OpenNews: Релиз фреймворка Qt 6.10
- OpenNews: Релиз фреймворка Qt 6.9
- OpenNews: Доступен графический тулкит GTK 4.22 со встроенным движком отрисовки SVG
|
|
|
| |
|
|
| · | 23.03 |
Проекты Artix Linux и GhostBSD переходят с X.Org Server на XLibre (251 +47) |
| |
Разработчики дистрибутива Artix Linux объявили о переходе на использование по умолчанию XLibre, форка X.Org Server. Отмечается, что публикуемые с июня прошлого года экспериментальные сборки с XLibre хорошо зарекомендовали себя и теперь проект перевёл на XLibre основные еженедельно обновляемые сборки. Пакеты с X.Org Server оставлены в качестве опции, что позволяет пользователям в случае проблем вернуться к старой начинке. Artix Linux основан на пакетной базе Arch Linux и примечателен использованием вместо systemd системных менеджеров openrc, runit, dinit и s6, на выбор пользователя.
Ранее о планах по переходу на XLibre также объявил сопровождающий десктоп-ориентированного дистрибутива GhostBSD, построенного на базе FreeBSD. Следующий релиз GhostBSD 26.01 будет поставляться с XLibre вместо X.Org Server. В качестве причин замены упоминается заброшенный характер проекта X.Org и потеря надежды, что он когда-либо выйдет из стагнации на фоне переключения всех усилий Red Hat на внедрение Wayland и намерения прекратить поддержку X11 в GTK5.
По мнению сопровождающего GhostBSD, проекты MATE, Xfce и GNUstep, ещё не готовы к переходу на Wayland, а действия сопровождающих X.Org выглядят деструктивными и иррациональными из-за удаления изменений, созданных автором XLibre. Предполагается, что наилучшим решением в подобной ситуации станет переход на XLibre, который даст возможность повысить качество поддержки предлагаемых проектом сборок на основе MATE, Xfce и собственной среды рабочего стола Gershwin на базе GNUstep. Пакеты с XLibre уже поставляются в дереве портов GhostBSD, прошли тестирование и показали хороший уровень качества.
- Главная ссылка к новости
- OpenNews: Выпуск проекта XLibre XServer 25.1.0, развивающего форк X.Org Server
- OpenNews: В XLibre обсуждается поддержка Vulkan через X11
- OpenNews: Разработчик KWin объявил альтернативные X-серверы нежелательными в KDE
- OpenNews: Разработчики САПР KiCad раскритиковали Wayland и рекомендовали использовать X11
- OpenNews: Проект X11Libre создал форк X.Org Server, избавленный от влияния корпораций
|
|
|
| |
|
|
| · | 22.03 |
Опубликован порт X.Org-драйвера Synaptics для окружений на базе Wayland (67 +17) |
| |
Создан порт X.org-драйвера Synaptics, совместимый с окружениями на базе Wayland. Порт представляет из себя реализацию минимального набора API X.Org, необходимого для компиляции и работы оригинального драйвера из состава X.Org внутри фонового процесса, а так же эмулятор мыши IBM ScrollPoint через uinput. Данная модель была выбрана в связи с тем, что для неё в коде libinput предусмотрены хаки для поддержки плавной прокрутки, недоступные для других устройств (эмулируемая мышь вместо колеса прокрутки с дискретными делениями использует устройство схожее с IBM TrackPoint).
Таким образом, путь прохождения событий пользовательского ввода выглядит так: ядро -> evdev -> [synaptics -> waynaptics] -> uinput -> ядро -> evdev -> libinput -> wayland-композитор. В настройках композитного сервера для эмулируемой мыши следует отключить ускорение указателя, поскольку оно уже обрабатывается на стороне Synaptics. В качестве конфигурации используется предварительно сохранённый в файл вывод synclient с настройками из X11-сессии.
В качестве причины создания порта упоминается то, что за 11 лет с момента первого стабильного релиза libinput не достиг паритета с драйвером Synaptics по поддерживаемым возможностям и количеству настроек, а среды рабочего стола так и не научились предоставлять доступ даже к имеющимся настройкам.
- Главная ссылка к новости
- OpenNews: Для X.Org-драйвера Synaptics представлена поддержка плавной прокрутки и прогнозирования движения
- OpenNews: Для X.Org-драйвера Synaptics подготовлена поддержка мультитач
- OpenNews: Компания Synaptics выпустила систему для организации управления жестами для Linux
- OpenNews: Вышел релиз X.Org драйвера xf86-input-synaptics 1.0.0 с поддержкой автоконфигурации
|
|
|
| |
|
|
| · | 22.03 |
Компания Canonical опубликовала MicroCloud 3, инструментарий для развёртывания кластеров (39 –1) |
| |
Компания Canonical опубликовала инструментарий управления облачной инфраструктурой MicroCloud 3.1 (первый выпуск ветки 3.x), позволяющий быстро развёртывать на своём оборудовании облачные системы и вычислительные кластеры с общим распределённым хранилищем данных и защищённой виртуальной сетью. MicroCloud оформлен в виде snap-пакета, включающего компоненты, необходимые для управление работой узлов кластера. Инструментарий написан на языке Go и распространяется под лицензией AGPL 3.0.
MicroClouds позволяет создавать кластеры, насчитывающие от 3 до 50 узлов при включении обеспечения отказоустойчивости. Программный стек для управления кластером основан на инструментарии LXD, платформе для построения виртуальных сетей OVN (Open Virtual Network) и распределённом отказоустойчивом хранилище Ceph. Настройка LXD, Ceph и OVN на всех узлах кластера осуществляется автоматически. В качестве основной платформы рассматривается дистрибутив Ubuntu Server, но инструментарий не привязан к Ubuntu и может быть использован в любых дистрибутивах, для которых доступна возможность установки инструментария snap (Arch Linux, CentOS, Fedora, Debian, openSUSE, RHEL и т.п.).
Для определения новых серверов в сети, которые могут быть подключены к кластеру, используется mDNS, что позволяет настроить весь кластер запустив всего одну команду "microcloud init" на одном из узлов и команду "sudo microcloud join" на остальных узлах, предварительно установив snap-пакеты lxd, microceph, microcloud и microovn. После запуска команды "microcloud init" инструментарий определит наличие других серверов в локальной сети, выдаст запрос на добавление дисков в общее хранилище Ceph и предложит настроить параметры виртуальной сети. Для добавления дополнительных узлов после завершения инициализации можно использовать команду "microcloud add". Конфигурация кластера может быть сохранена в формате YAML для последующего развёртывания аналогичных систем.
Общее файловое хранилище создаётся с включением репликации и отказоустойчивости, позволяющих в случае выхода из строя отдельных узлов не потерять данные, благодаря хранению нескольких экземпляров данных на разных узлах. Для развёртывания хранилища на базе Ceph в кластере, помимо локальных дисков, на трёх разных компьютерах должны присутствовать как минимум три отдельных диска, отведённых для распределённого хранения данных.
После готовности кластера пользователям предоставляется возможность запуска своих приложений, используя контейнеры или виртуальные машины, а также возможность доступа к общему хранилищу Ceph и инструментарию централизованного управления на базе LXD. Возможно гибкое управление предоставляемыми ресурсами CPU, памяти и ввода/вывода, проброс в окружения USB-устройств, GPU и накопителей. Изолированные и виртуальные окружения могут переноситься между узлами в режиме live-миграции и сохраняться с использованием снапшотов. Метрики о работе кластера и лог событий могут экспортироваться для мониторинга при помощи Prometheus и Grafana.
В новой версии:
- Добавлена поддержка использования Cluster Manager для централизованного мониторинга и управления несколькими кластерами MicroCloud в одном приложении.
- После завершения интерактивной установки кластера командой "microcloud init" обеспечен вывод запроса, позволяющего формировать ссылку для временного доступа в управляющий web-интерфейс, что позволяет сразу перейти в web-интерфейс LXD, через который можно создавать и настраивать узлы, сети, пулы хранения, образы, группы полномочий и т.п. Временный вход действует 24 часа (предполагается, что этого времени хватит для настройки постоянного доступа).
- Добавлена экспериментальная поддержка MicroOVN 26.03 (Micro Open Virtual Network), набора фоновых процессов для Open vSwitch, транслирующих конфигурацию виртуальной сети в OpenFlow. В отличие от Open vSwitch в MicroOVN предоставляется более высокий уровень абстракций, работающий не с потоками, а с логическими маршрутизаторами и коммутаторами.
- Главная ссылка к новости
- OpenNews: Представлен Proxmox Datacenter Manager 1.0
- OpenNews: Выпуск Proxmox VE 9.1, дистрибутива для организации работы виртуальных серверов
- OpenNews: Обновление кластерной файловой системы LizardFS 3.13.0-rc2
- OpenNews: Apache сворачивает разработку кластерной платформы Mesos
- OpenNews: Уязвимость в Red Hat OpenShift AI, допускающая root-доступ к узлам кластера
|
|
|
| |
|
|
| · | 22.03 |
10-гигабитный маршрутизатор Turris Omnia NG Wired, использующий OpenWRT (147 +18) |
| |
Организация CZ.NIC, являющаяся регистратором чешского домена первого уровня CZ и разработчиком свободного DNS-сервера Knot, представила маршрутизатор Turris Omnia NG Wired, построенный на одной платформе с выпущенным в прошлом году беспроводным маршрутизатором Turris Omnia NG и являющийся его удешевлённым вариантом. Новое устройство рассчитано на использование в серверных помещениях, имеет форм-фактор для установки в стойку (Rack-Mount) и оснащено 2 Ethernet портами 10G SFP+ и 4 портами 2.5G RJ45. Устройство поступило в продажу по цене 420 евро.
Как в прошлой модели в новом маршрутизаторе используется бесшумное пассивное охлаждение и доступно три слота M.2, через которые можно подключить модуль Wi-Fi, NVMe-накопитель и 4G/5G модем. Также имеется цветной экран с разрешением 240 × 240, который может использоваться для вывода статистики, уведомлений и мониторинга. Аппаратная начинка (схемы) включает
4-ядерный CPU Qualcomm IPQ 9574 (ARMv8 Cortex A-73, 2.2 GHz), 2 ГБ ОЗУ, 8 ГБ eMMC, 2 порта 10 Gbps (SFP+), 4 × 2.5 Gbps (RJ45). 3 слота M.2 (PCI Express 3.0 2x) и 2 порта USB 3.0. Опционально возможно подключение модулей Wi-Fi 6 и Wi-Fi 7 для превращения устройства в беспроводную точку доступа.
В прошивке задействовано собственное ответвление от открытой платформы OpenWRT, поставляемое под именем Turris OS. Помимо использования для создания маршрутизатора и точки беспроводного доступа, устройство может применяться в качестве цифрового центра для дома и малых/средних предприятий, пригодного для развёртывания сетевых хранилищ (NAS, Network-Attached Storage), VPN, резервного копирования, создания сервера печати, запуска различных сетевых сервисов.
Имеется встроенная возможность запуска Linux-контейнеров при помощи инструментария LXC, в которых можно устанавливать произвольные дистрибутивы Linux и создавать виртуальные серверы, для пользователей выглядящие как отдельный компьютер, подключённый к локальной сети. На базе платформы Sentinel в прошивке реализован динамический межсетевой экран c элементами для обнаружения вторжений и отслеживания потоков трафика. Прошивка обновляется автоматически без необходимости выполнения каких-либо действий пользователем. Управление осуществляется через web-интерфейс или командную строку.
- Главная ссылка к новости
- OpenNews: Представлен маршрутизатор Turris Omnia NG с прошивкой на базе OpenWRT
- OpenNews: Открытый маршрутизатор Turris Omnia собрал более 400 тысяч долларов
- OpenNews: Новый открытый маршрутизатор Turris Omnia
- OpenNews: Доступен маршрутизатор OpenWrt One, развиваемый сообществами OpenWrt и Banana Pi
- OpenNews: Релиз OpenWrt 25.12 с заменой пакетного менеджера и системой обновления прошивки
|
|
|
| |
|
|
| · | 22.03 |
Доступен ELKS 0.9, вариант ядра Linux для старых 16-разрядных процессоров Intel (113 +40) |
| |
После полутора лет разработки опубликован выпуск проекта ELKS 0.9 (Embeddable Linux Kernel Subset), развивающего Linux-подобную операционную систему для 16-разрядных процессоров Intel 8086, 8088, 80188, 80186, 80286 и NEC V20/V30. ОС может использоваться на старых компьютерах класса IBM-PC XT / AT, советском компьютере MK-88, винтажной плате Monotech NuXT 2.0 и на SBC / SoC / FPGA, воссоздающих архитектуру IA16. Проект развивается с 1995 года и начинался как ответвление ядра Linux для устройств без блока управления памятью (MMU). Исходные тексты распространяются под лицензией GPLv2. Система поставляется в форме образов для записи на floppy-диски или запуска в эмуляторе QEMU.
Помимо ядра Linux, адаптированного для 16-разрядных систем, проектом развивается набор стандартных утилит (ps, bc, tar, du, diff, netstat, mount, sed, xargs, grep, find, telnet, meminfo и т.п.), включая совместимый с bash командный интерпретатор, консольный оконный менеджер screen, текстовые редакторы Kilo и vi, графическое окружение на базе X-сервера Nano-X.
Предлагается два варианта сетевого стека - штатный TCP/IP стек ядра Linux и стек ktcp, работающий в пространстве пользователя. Из сетевых карт поддерживаются Ethernet-адаптеры, совместимые с NE2K и SMC. Также возможно создание каналов связи через последовательный порт при помощи SLIP и CSLIP. Из файловых систем поддерживаются Minix v1, FAT12, FAT16 и FAT32. Настройка процесса загрузки осуществляется через сценарий /etc/rc.d/rc.sys. Формат исполняемых файлов заимствован из ОС Minix.
В новом выпуске:
- Обеспечена интеграция с проектом, развивающим графическую оконную систему Microwindows (Nano-X), имеющую архитектуру клиент-сервер и пригодную для создания сред рабочего стола, а также для запуска эмулятора терминала, игр и графических приложений.
- На базе оконной системы Nano-X реализована новая среда рабочего стола NXDSKTOP, способная работать на старейших x86-системах, таких как IBM 5150/5160 (8 MHz) и Amstrad 1640, а также на более мощных ПК на базе CPU 286, 386 и 486 с VGA-виреокартами. Предоставляются типичные для пользовательских окружений графические компоненты, такие как интерфейс запуска приложений nxselect, диалоговые окна, меню приложений, просмотрщик изображений nxjpeg и текстовый редактор.
- Предоставлен инструментарий ELKS 8086 Toolchain, работающий поверх ELKS и включающий компилятор для языка Си C86, ассемблер, утилиту make и компоновщик для систем с процессорами 8086.
- Добавлена поддержка компилятора DeSmet C (DCC), основанного на инструментарии 1989 DeSmet.
- Добавлена поддержка работы в эмуляторах Bochs, PCem, copy.sh/v86, MartyPC, EMU86 и Swan, в дополнение к ранее поддерживаемым DOSBox-X и QEMU.
- Реализована поддержка игр Doom, Paint, Elksmoria, ttypong, tetris, invaders, advent, nxtetris, nxmine, nxworld, matrix и sl.
- Реализован драйвер Direct ATA и добавлена поддержка оборудования с XT-IDE. Для эмулятора v86 обеспечена поддержка мыши PS/2.
- Выполнено портирование на компьютеры NEC V25, Solo/86 и WonderSwan.
- Главная ссылка к новости
- OpenNews: Linux запущен на Intel 4004, первом коммерческом микропроцессоре
- OpenNews: Релиз ОС MINIX 3.3.0
- OpenNews: Дискуссия об использовании языка C++ для разработки ядра Linux
- OpenNews: Проект LibOS развивает вариант ядра Linux с сетевым стеком в форме библиотеки
- OpenNews: Ядро Linux портировано для калькуляторов TI-Nspire
|
|
|
| |
|
|
| · | 22.03 |
Основан GNOME-X11, форк GNOME 50 с возвращённой поддержкой X11 (209 +20) |
| |
В рамках проекта GNOME-X11 началось развитие форка GNOME 50, в который возвращена возможность работы под управлением X-сервера. Проект развивает независимый энтузиаст, не связанный с сообществом GNOME. В настоящее время в репозитории проекта опубликованы ответвления компонентов gnome-settings-daemon, mutter, gdm, gnome-control-center, gnome-shell, gnome-session и libshew, в которых выполнен откат коммитов, удаляющих поддержку X11.
- Главная ссылка к новости
- OpenNews: Выпуск среды рабочего стола GNOME 50 с удалением поддержки X11
- OpenNews: Из GNOME Shell и Mutter удалён код для поддержки X11
- OpenNews: В XLibre обсуждается поддержка Vulkan через X11
- OpenNews: Выпуск проекта XLibre XServer 25.1.0, развивающего форк X.Org Server
|
|
|
| |
|
|
| · | 21.03 |
Опубликован легковесный дистрибутив antiX 26 (76 +23) |
| |
Представлен легковесный Live-дистрибутив AntiX 26, построенный на пакетной базе Debian и нацеленный на установку на устаревшее оборудование. Выпуск основан на пакетной базе Debian 13, но поставляется без системного менеджера systemd и с eudev вместо udev. Для инициализации по умолчанию используется runit. Пользовательское окружение по умолчанию сформировано при помощи оконного менеджера IceWM, но дополнительно в поставку включены fluxbox, jwm и herbstluftwm. Размер iso-образов: 2.3 ГБ (полный, включает LibreOffice и 4 оконных менеджера – IceWM, fluxbox, jwm и herbstluftwm) и 676 МБ (без графики). Сборки подготовлены для архитектур x86_64 и i386.
В новом выпуске осуществлён переход на пакетную базу Debian 13 (ранее использовался Debian 12). Для использования доступны 5 систем инициализации: runit (по умолчанию), sysVinit, dinit, s6-rc и s6-66.
В полной сборке предложено ядро Linux 6.6 (было 6.1), а в остальных сборках 5.10.224.
Состав:
- Пользовательское окружение по умолчанию построено на основе оконного менеджера IceWM и файлового менеджера zzzFM.
- Мультимедийный сервер pipewire и менеджер звуковых сеансов WirePlumber в полных редакциях (в остальных редакциях ALSA).
- Воспроизведение звука: xmms.
- Просмотр видео: celluloid, mpv и Xine.
- Просмотр изображений: mirage.
- Прослушивание интернет-радио: streamtuner2.
- Ведение заметок: cherrytree.
- Просмотр YouTube: gtk-pipe-viewer.
- Просмотр PDF-документов: evince.
- Навигация по приложениям: App Select.
- Файловые менеджеры: zzzFM, rox-filer, mc.
- Конвертация звука и видео: winff и asunder.
- Настройка сети: connman, gnome-ppp и ceni.
- Текстовые редакторы: geany, leafpad.
- Инструменты для ремастеринга и создания снимков установленной системы: iso-snapshot и remaster.
- Резервное копирование: luckybackup.
- Работа с электронной почтой: Claws Mail.
- Сканирование документов: simple-scan и Xsane.
- Загрузка торрентов: transmission-gtk.
- Настройка: antiX Control Centre.
- Разное: bootrepair, Package Installer, Network Assistant, User Manager, ddm-mx (установщик драйверов NVIDIA).
- Консольные приложения: редакторы nano и vim-tiny, RSS-ридер newsboat, чат irssi, аудиоплеер mocp, радио pmrp, видеоплеер mpv, загрузчик YouTube pipe-viewer, торрент rtorrent.
- Главная ссылка к новости
- OpenNews: Выпуск легковесных дистрибутивов antiX 23.2 и MX Linux 23.4
- OpenNews: Выпуск минималистичного дистрибутива Tiny Core Linux 17.0
- OpenNews: Опубликован AV Linux MX 25, дистрибутив для создания аудио- и видеоконтента
|
|
|
| |
|
|
| · | 21.03 |
Выпуск системы инициализации SysVinit 3.16 (38 +28) |
| |
Опубликован релиз классической системы инициализации SysVinit 3.16, которая широко применялась в дистрибутивах Linux во времена до systemd и upstart, а теперь продолжает использоваться в таких дистрибутивах, как Devuan, Slackware, Debian GNU/Hurd и antiX. Код написан на языке Си и распространяется под лицензией GPLv2. Версии применяемых в связке с sysvinit утилит insserv и startpar не изменились. Утилита insserv предназначена для организации процесса загрузки с учётом зависимостей между init-скриптами, а startpar применяется для обеспечения параллельного запуска нескольких скриптов в процессе загрузки системы.
В новой версии SysVinit расширены возможности скрипта sysd2v, предназначенного для преобразования unit-файлов systemd в sysv-скрипты. Удалён неиспользуемый код из sulogin. Удалены некоторые отладочные сообщения при чтении содержимого каталога /etc/inittab.d/ и документированы особенности чтения /etc/inittab.d/ в man-руководстве inittab. Проведена чистка man-страниц inittab и init.
- Главная ссылка к новости
- OpenNews: Проект Linux From Scratch прекращает поддержку SysVinit в пользу systemd
- OpenNews: Выпуск системы инициализации SysVinit 3.15. Переход проекта с GitHub на CodeBerg
- OpenNews: Уязвимость в системе инициализации finit, позволяющая войти в систему без пароля
- OpenNews: Новые версии сервисного менеджера s6-rc и системы инициализации s6-linux-init
- OpenNews: Первый выпуск минималистичной системы инициализации Nitro
|
|
|
| |
|
|
| · | 21.03 |
Выпуск Cambalache 1.0, инструмента для разработки GTK-интерфейсов (35 +9) |
| |
Представлен релиз проекта Cambalache 1.0, развивающего инструмент быстрой разработки интерфейсов для GTK 3 и GTK 4, использующий визуальное проектирование (WYSIWYG), парадигму MVC и философию первостепенного значения модели данных. Присвоение номера версии 1.0 преподносится как достижение готовности проекта к широкому использованию. Код написан на Python и поставляется под лицензией LGPLv2.1. Для установки доступен пакет в формате flatpak.
В отличие от Glade в Cambalache предоставляется поддержка ведения нескольких интерфейсов пользователя в одном проекте. Cambalache не зависит от GtkBuilder и GObject, но предоставляет модель данных, соответствующую системе типов GObject. Поддерживается редактирование, визуализация и создание GTK-стилей в формате CSS,
редактирование XML-файлов с ресурсами GResources, создание шаблонов и виджетов, использование XML-файлов GtkBuilder и разметки Blueprint.
Модель данных может импортировать и экспортировать разом несколько интерфейсов, поддерживает объекты, свойства и сигналы GtkBuilder, предоставляет стек отката операций (Undo / Redo) и возможность сжатия истории команд. Для генерации модели данных из gir-файлов предоставляется утилита cambalache-db, а для генерации классов GObject из таблиц модели данных - утилита db-codegen.
Интерфейс может генерироваться на базе GTK 3 и GTK 4, в зависимости от определённой в проекте версии. Для обеспечения поддержки разных веток GTK формирование рабочей области осуществляется в отдельном процессе с привлечением виджета Casilda, позволяющего встраивать в GTK4-приложения окна других процессов и реализованного в форме специализированного композитного сервера, использующего протокол Wayland и библиотеку wlroots. Casilda создаёт виртуальные устройства ввода, события в которые транслируются из GtkEventController, а также виртуальное устройство вывода, имеющее размер как у встроенного в приложение виджета. При помощи wlroots содержимое для предпросмотра отрисовывается в пиксельный буфер и загружается как поверхность Cairo (cairo.Surface) для отрисовки в GTK.
- Главная ссылка к новости
- OpenNews: Доступен графический тулкит GTK 4.22 со встроенным движком отрисовки SVG
- OpenNews: Ardour прекратил поддержку сборки с GTK2 в пользу форка YTK
- OpenNews: Собраны средства для разработки GNOME Builder
- OpenNews: Выход Glade 3.21, оболочки для визуального проектирования интерфейсов на GTK+
- OpenNews: В GNOME SDK добавлена поддержка языка построения интерфейсов Blueprint
|
|
|
| |
|
|
| · | 21.03 |
Выпуск GNU Autoconf 2.73 (34 +17) |
| |
После более года разработки опубликован выпуск пакета GNU Autoconf 2.73, в котором поставляется набор M4-макросов для создания скриптов автоконфигурации для сборки приложений в различных Unix-подобных системах (на основе подготовленного шаблона выполняется генерация скрипта "configure"). В новой версии в основном улучшена поддержка GNU Gettext и опубликованного в 2024 году стандарта языка Си - C23, а также компиляторов, по умолчанию использующих данный стандарт.
- Главная ссылка к новости
- OpenNews: Выпуск GNU Autoconf 2.72
- OpenNews: Выпуск GNU Automake 1.18, инструментария для генерации сборочных файлов
- OpenNews: Разработчики OpenBSD подчеркнули проблемы с поддержкой не-GNU платформ в Autoconf
- OpenNews: Опубликован Autodafe, инструментарий для замены Autotools на обычный Makefile
|
|
|
| |
|
|
| · | 21.03 |
Выпуск стандартной Си-библиотеки Musl 1.2.6 (30 +24) |
| |
После двух лет разработки представлен релиз стандартной Си-библиотеки Musl 1.2.6, предоставляющей реализацию libc, которая подходит для применения как на стационарных ПК и серверах, так и на мобильных системах, сочетая полноценную поддержку стандартов (как в Glibc) с небольшим размером, низким потреблением ресурсов и высокой производительностью (как в uClibc, dietlibc и Android Bionic). Имеется поддержка всех обязательных интерфейсов C99 и POSIX 2008, а также частично C11 и набор расширений для многопоточного программирования (POSIX threads), управления памятью и работы с локалями. Код Musl поставляется под свободной лицензией MIT.
Основные изменения:
- Реализована функция posix_getdents, появившаяся в стандарте POSIX-2024. Функция читает содержимое каталога, связанного с открытым файловым дескриптором и помещает информацию о подкаталогах и файлах в структуры posix_dent с возможностью ограничения максимального размера.
- Добавлена специфичная для Linux функция renameat2, предоставляющая средства для атомарной замены имён двух файлов (первый файл переименовывается во второй, а второй в первый). От renameat новая функция отличается наличием дополнительного флагового поля - без выставления флага поведение renameat2 полностью аналогично renameat, а при указании флага RENAME_NOREPLACE операция переименования не приводит к замене уже существующего файла.
- Для систем Loongarch64 добавлена поддержка механизма TLSDESC (Thread-Local Storage Descriptor) для эффективного доступа к переменным в локальном хранилище потока.
- При помощи vDSO оптимизирована работы функции clock_gettime на архитектурах riscv32, riscv64, powerpc, powerpc64 и s390x. vDSO (virtual dynamic shared object) позволяет перенести обработчик системного вызова из ядра в пространство пользователя и избежать переключений контекста.
- Для определения возможностей CPU в runtime компиляторов, символ
__getauxval переведён в публичный ABI.
- Устранена уязвимость (CVE-2025-26519), приводящая к переполнению буфера при преобразовании специально оформленного текста из кодировки EUC-KR в UTF-8 при помощи функции iconv(). Уязвимость выявлена более года назад и до релиза устранялась через установку патча.
- Решены проблемы с совместимостью в функциях initgroups, getusershell, exit, atexit, strerror, isatty, hasmntopt и vdso, а также в заголовочных файлах sched.h и shadow.h.
- Улучшено соответствие спецификациям в функциях pwrite (решена проблема с O_APPEND), mbnrtowcs (учтены требования POSIX-2024), strptim (учтены требования POSIX-2024e), inet_ntop (обеспечено соответствие RFC 5952).
- Главная ссылка к новости
- OpenNews: Уязвимость в Musl, эксплуатируемая при перекодировании текста в кодировке EUC-KR
- OpenNews: Представлен порт systemd для систем на базе библиотеки Musl
- OpenNews: Выпуск стандартной Си-библиотеки Musl 1.2.5
|
|
|
| |
|
|
| Следующая страница (раньше) >> |