The OpenNET Project / Index page

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

·11.02 Выпуск языка программирования Go 1.26 (45 +6)
  После шести месяцев разработки представлен релиз языка программирования Go 1.26, развиваемого компанией Google при участии сообщества. Язык сочетает высокую производительность, свойственную компилируемым языкам, с такими достоинствами скриптовых языков, как простота написания кода, высокая скорость разработки и защита от ошибок. Код проекта распространяется под лицензией BSD.

Синтаксис Go основан на привычных элементах языка Си с отдельными заимствованиями из языка Оберон. Язык достаточно лаконичен, но при этом код легко читается и воспринимается. Код на языке Go компилируется в обособленные бинарные исполняемые файлы, выполняемые нативно, без использования виртуальной машины (модули профилирования, отладки и другие подсистемы выявления проблем на этапе выполнения интегрируются в виде runtime-компонентов), что позволяет добиться производительности, сопоставимой с программами на языке Си.

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

Среди изменений в новом выпуске:

  • Включён по умолчанию сборщик мусора "greenteagc", рассчитанный на повышения производительности создания и сканирования мелких объектов. В приложениях, в которых активно применяется сборка мусора, при использовании "greenteagc" отмечается сокращение накладных расходов на сборку мусора на 10-40%.
  • Во встроенной функции new(), предназначенной для создания новых переменных, появилась возможность указания выражения в качестве операнда, определяющего начальное значение переменной. Например, вместо кода
     
       x := int64(300)
       ptr := &x
    
    теперь можно писать:
     
       ptr := new(int64(300))
    
  • В обобщённых типах (generic) разрешено ссылаться на самого себя в качестве аргумента в списке собственных параметров типа (можно передать тип в свой же параметр). В первой строке показанного ниже примера ссылка Adder на самого себя теперь не приводит к выводу ошибки:
    
       type Adder[A Adder[A]] interface {
           Add(A) A
       }
       func algo[A Adder[A]](x, y A) A {
           return x.Add(y)
       }
    
  • Накладные расходы при вызове функций на языке Си из кода на языке Go при помощи cgo снижены примерно на 30%.
  • В runtime на 64-разрядных платформах реализована рандомизация адресного пространства при запуске, что усложняет предсказание адресов в памяти при попытках эксплуатации уязвимостей в Си-коде, задействованном через cgo. Для отключения рандомизации предложена опция "GOEXPERIMENT=norandomizedheapbase64".
  • Расширено число ситуаций, в которых компилятор выделяет память для слайсов в стеке, а не в куче, что положительно сказывается на производительности.
  • Реализация команды "go fix" полностью переписана с использованием пакета analysis, предоставляющего функциональность для статистического анализа кода. Добавлена поддержка доступных в пакете modernize анализаторов, предлагающих правки для упрощения кода с учётом новых возможностей языка и стандартной библиотеки. Добавлен анализатор "inline" для inline-развёртывания всех вызовов функций, помеченных директивой "//go:fix inline".
  • Добавлены новые пакеты crypto/hpke (реализация HPKE - Hybrid Public Key Encryption), crypto/mlkem/mlkemtest и testing/cryptotest.
  • Добавлен экспериментальный пакет simd/archsimd, предоставляющий низкоуровневый доступ к выполнению векторных операций с использованием инструкций SIMD на системах с архитектурой AMD64.
  • Добавлен экспериментальный пакет runtime/secret для безопасной очистки (обнуления) временной памяти, выделенной при выполнении указанной функции.
  • В пакет runtime/pprof добавлен экспериментальный профиль goroutineleak для выявления утечек сопрограмм (goroutine).

  1. Главная ссылка к новости
  2. OpenNews: Выпуск языка программирования Go 1.25
  3. OpenNews: Выпуск Tinygo 0.40, компилятора для языка Go
  4. OpenNews: В инструментарий для языка Go добавлена возможность отслеживания уязвимостей в модулях
  5. OpenNews: Лидер проекта Go принял решение покинуть пост
  6. OpenNews: Google намерен добавить телеметрию в инструментарий для языка Go
Обсуждение (45 +6) | Тип: Программы |


·11.02 Релиз медиацентра MythTV 36 (27 +3)
  После года разработки состоялся релиз платформы для создания домашнего медиацентра MythTV 36, позволяющей превратить настольный ПК в телевизор, систему для записи видео, музыкальный центр, альбом с фотографиями, станцию для записи и просмотра DVD. Код проекта написан на С++ и распространяется под лицензией GPLv2.

Архитектура MythTV базируется на разделении бэкенда для хранения или захвата видео (IPTV, DVB-карты и т.п.) и фронтэнда для формирования интерфейса (web-интерфейс и GUI на базе Qt). Фронтэнд способен работать одновременно с несколькими бэкендами, которые могут быть запущены как на локальной системе, так и на внешних компьютерах. Расширенная функциональность реализуется через плагины. В настоящее время доступно два набора плагинов - официальный и неофициальный. Спектр возможностей, охватываемых плагинами - от интеграции с различными online-сервисами до средств для работы с web-камерой и организации видеосвязи между ПК.

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

  • Расширены возможности встроенного web-интерфейса (Web App, http://хост:6544/). Добавлена поддержка аутентифицированного входа, возможность восстановления прошлых параметров сортировки, улучшен поиск ранее записанного контента, расширена информация о бэкенде, моджернизирована вкладка управления записью. До версии 17 обновлены библиотеки Angular и PrimeNG.
  • Во вкладку "Видео" добавлены всплывающие панели для поиска и просмотра категорий.
  • Разрешена запись по расписанию до 24 часов контента.
  • В настройках разрешено переопределения URL сервисов.
  • Реализована поддержка масштабирования с учётом DPI в окружениях на базе Wayland.
  • Удалён код для совместимости с Qt5. Добавлена поддержка Qt 6.9.
  • Удалены компоненты для сборки в MSVC (не работали корректно).
  • В Service API добавлена поддержка аутентификация подключения к бэкенду по логину и паролю.
  • Осуществлён переход на FFmpeg 8.
  • Web-движок QWebKit заменён на QWebEngine.

  1. Главная ссылка к новости
  2. OpenNews: Релиз медиацентра MythTV 35
  3. OpenNews: Выпуск LinHES 8.4, дистрибутива для создания медиацентров
  4. OpenNews: Не исключена подмена MetalKettle, популярного репозитория для медиацентра Kodi
  5. OpenNews: Выпуск OSMC 2024.08-1, дистрибутива для создания медиацентра на основе Raspberry Pi
  6. OpenNews: Релиз открытого медиацентра Kodi 21.0
Обсуждение (27 +3) | Тип: Программы |


·10.02 Релиз CrossOver 26.0 для Linux и macOS (19 +9)
  Компания CodeWeavers выпустила релиз пакета CrossOver 26.0, основанного на коде Wine и предназначенного для выполнения программ и игр, написанных для платформы Windows. CodeWeavers входит в число ключевых участников проекта Wine, спонсирует его разработку и возвращает в проект все новшества, реализованные для своих коммерческих продуктов. Исходные тексты открытых компонентов CrossOver можно загрузить на данной странице.

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

  • Кодовая база обновлена до версии Wine 11.
  • Движок Wine Mono с реализацией платформы .NET обновлён до выпуска 10.4.1.
  • Пакет Vkd3d с реализацией Direct3D 12 обновлён до версии 1.18.
  • На платформе Linux включена поддержка драйвера ntsync, позволяющего существенно поднять производительность Windows-игр, запускаемых при помощи Wine. Драйвер входит в состав ядра Linux начиная с выпуска 6.14 и реализует символьное устройство /dev/ntsync и набор примитивов для синхронизации, применяемых в ядре Windows NT. Значительный прирост производительности достигается благодаря избавлению от накладных расходов, связанных с применением RPC в пространстве пользователя.
  • В версии для macOS обновлены версии D3DMetal 3.0 и DXMT 0.72, а также решены проблемы с играми:
    • Age of Empires IV: Anniversary Edition
    • Assetto Corsa EVO
    • Clair Obscur: Expedition 33
    • CloverPit
    • Company of Heroes 3
    • Final Fantasy Tactics - The Ivalice Chronicles
    • Final Fantasy VII Rebirth
    • God of War Ragnarök
    • Helldivers 2
    • Hell is Us and Cronos: The New Dawn.
    • Jurassic World Evolution 2
    • Kingdom Come: Deliverance II
    • Mafia: The Old Country
    • Planet Coaster 2
    • PowerWash Simulator 2
    • Silent Hill f
    • Starfield
    • The Outer Worlds 2
    • Trails in the Sky 1st Chapter
    • Warhammer 40,000: Darktide

  1. Главная ссылка к новости
  2. OpenNews: Релиз CrossOver 25.1 для Linux и macOS
  3. OpenNews: Стабильный релиз Wine 11.0
  4. OpenNews: В Wine интегрирована начальная поддержка ntsync для повышения производительности игр
Обсуждение (19 +9) | Тип: Программы |


·10.02 Docker предоставил бесплатный доступ к защищённым образам контейнеров (35 +17)
  Компания Docker объявила о предоставлении бесплатного доступа к коллекции защищённых образов контейнеров DHI (Docker Hardened Images), насчитывающей более тысячи минималистичных сборок на базе Alpine и Debian c готовыми преднастроенными окружениями для запуска различных приложений, инструментариев, runtime и платформ. Образы распространяются под лицензией Apache 2.0 и сопровождаются силами Docker.

Использование DHI-образов упрощает работу по поддержанию безопасности инфраструктуры, так как за исправление уязвимостей в базовом содержимом образов и оперативную подготовку обновлений отвечают сотрудники Docker, а пользователям остаётся лишь заботиться о безопасности своих приложений и дополнительно установленных зависимостей. Для защиты от атак через компрометацию зависимостей (Supply Chain), используемых в предоставляемых образах, содержимое образов собирается из исходного кода с использованием контролируемых пространств имён, проведением рецензирования и "периодом охлаждения" перед доставкой новых версий.

  1. Главная ссылка к новости
  2. OpenNews: Docker Hub начал блокировать доступ из России
  3. OpenNews: Уязвимость в runc, позволяющая выбраться из контейнеров Docker и Kubernetes
  4. OpenNews: Docker Hub отменил решение об упразднении бесплатного сервиса Free Team
  5. OpenNews: В Docker Hub выявлено 1600 вредоносных образов контейнеров
Обсуждение (35 +17) | Тип: К сведению |


·10.02 Выпуск реализации анонимной сети I2P 2.11.0 и C++-клиента i2pd 2.59 (20 +14)
  Представлен релиз анонимной сети I2P 2.11.0 и C++-клиента i2pd 2.59.0. I2P представляет собой многослойную анонимную распределенную сеть, работающую поверх обычного интернета, активно использующую сквозное (end-to-end) шифрование, гарантирующую анонимность и изолированность. Сеть строится в режиме P2P и образуется благодаря ресурсам (пропускной способности), предоставляемым пользователями сети, что позволяет обойтись без применения централизованно управляемых серверов (коммуникации внутри сети основаны на применении шифрованных однонаправленных туннелей между участником и peer-ами).

В сети I2P можно анонимно создавать web-сайты и блоги, отправлять мгновенные сообщения и электронную почту, обмениваться файлами и организовывать P2P-сети. Для построения и использования анонимных сетей для клиент-серверных (сайты, чаты) и P2P (обмен файлами, криптовалюты) приложений, применяются I2P-клиенты. Базовый I2P-клиент написан на языке Java и может работать на широком спектре платформ, таких как Windows, Linux, macOS, Solaris и т.п. I2pd представляет собой независимую реализацию клиента I2P на языке C++ и распространяется под модифицированной лицензией BSD.

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

  • Клиент отныне требует для работы Java 17.
  • Совершён переход на 12-ю версию веб-сервера Jetty.
  • Продолжена интеграция пост-квантовой криптографии. Для механизма обмена ключей алгоритмы пост-квантовой криптографии задействованы по умолчанию.
  • Введены дополнительные меры борьбы с DoS-атаками в связи с продолжающейся атакой неизвестных лиц на сеть I2P. Планируется корректирующий выпуск с расширенной защитой.
  • Интерфейс SAMv3 теперь поддерживает datagram 2 и 3 версии.

Для C++-клиента i2pd можно выделить следующие изменения:

  • Добавлена поддержка алгоритмов пост-квантовой криптографии (ML-KEM-512, ML-KEM-768, ML-KEM-1024) для протокола NTCP2. Работает при сборке с OpenSSL версии 3.5.0 и выше.
  • Добавлена локализация на язык эсперанто, филиппинский и финский. Обновлена локализация для иврита.
  • Добавлено нативное графическое приложение i2pd для ОС Haiku.
  • Ассоциирование UDP с SOCKS5-прокси.
  • Исправлен случайный сбой с NetDb, происходивший при остановке маршрутизатора.
  • Режим ограниченной сетевой доступности.
  • Множество исправлений в отношении datagram в интерфейсе SAM.
  • Внедрено ограничение на количество отправленных данных в формате datagram ради контроля целостности шифрованных сессий через UDP-туннели.
  • Исправлен ложно-положительный результат при запуске тестирования пира, вызванный ещё одним недавним тестированием.
  • Отныне маршрутизатор не будет устанавливать соединения с узлами, имеющими версию ниже 0.9.58.
  • Floodfill-ы отныне не могут быть узлами, обеспечивающими пробивание NAT.
  • Публикация реального порта при NAT типа full cone.
  • Добавлены параметры "i2p.streaming.maxConnsPerMinute" и "i2p.streaming.maxResends".
  • Добавлено использование списка доверенных узлов для первого узла в цепочке.
  • Увелечена производительности при большом количестве стримов.
  • Использование множества "долек" при чесночной маршрутизации для datagram. Datagram3 и 800 стали входящими тэгами по умолчанию.
  • Косметические исправления веб-консоли i2pd.
  • Обновлён список reseed-серверов.

  1. Главная ссылка к новости
  2. OpenNews: Выпуск реализации анонимной сети I2P 2.10.0 и C++-клиента i2pd 2.58
  3. OpenNews: Выпуск новой стабильной ветки Tor 0.4.8
  4. OpenNews: Проект Tor и дистрибутив Tails объявили об объединении
  5. OpenNews: Релиз Tor Browser 15.0
  6. OpenNews: Выпуск Arti 2.0.0, официальной реализации Tor на языке Rust
Обсуждение (20 +14) | Автор: Аноним | Тип: Программы |


·10.02 Выпуск D7VK 1.3, реализации Direct3D 5, 6 и 7 поверх API Vulkan (26 +26)
  Опубликован выпуск проекта D7VK 1.3, развивающего реализацию графических API Direct3D 5, 6 и 7, предложенных компанией Microsoft в 1997, 1998 и 1999 годах. D7VK работает через трансляцию вызовов в API Vulkan и позволяет при помощи Wine запускать в Linux ретро игры, завязанные на API Direct3D 5, 6 и 7. Код проекта написан на языке C++ и распространяется под лицензией Zlib. В качестве основы при разработке использован код бэкенда d3d9 от проекта DXVK - D7VK преобразует API Direct3D 5, 6 и 7 в вызовы Direct3D 9, которые затем транслируются в API Vulkan. Разработчик не намерен добиваться включения D7VK в состав DXVK, как это было с реализациями Direct3D 8 и Direct3D 9 поверх Vulkan.

В новом выпуске обеспечена официальная поддержка графического API Direct3D 5 в дополнение к ранее доступной поддержке Direct3D 6 и 7. Также проведена работа по устранению ошибок и улучшению совместимости с играми кода для поддержки Direct3D 6 и Direct3D 7. Отключена по умолчанию эмуляция механизма сглаживания FSAA (Full-Scene Anti-Aliasing), которая теперь активируется только для игр, поддерживающих данную технологию.

Решены проблемы с работой игр:

  • Blood 2: The Chosen
  • Drakan: Order of the Flame
  • Freespace 2 and Arabian Nights
  • Gothic 1/2
  • Ground Control
  • Legacy of Kain: Soul Reaver
  • No One Lives Forever

Добавлена поддержка игр на базе Direct3D 5:

  • Carmageddon II: Carpocalypse Now
  • Deathtrap Dungeon
  • Lands of Lore III
  • Mobil 1 Rally Championship
  • Mortal Kombat 4
  • Nightmare Creatures
  • N.I.C.E 2
  • Tomb Raider II

Ранее была подтверждена работа игр:

  • Arabian Nights
  • Battlezone II: Combat Commander
  • Black & White
  • Carmageddon TDR 2000
  • Colin McRae Rally 2 0
  • Dark Reign 2
  • Deus Ex
  • Disciples II
  • Drakan: Order of the Flame
  • Earth 2150
  • Emperor: Battle for Dune
  • Expendable
  • Giants: Citizen Kabuto
  • Hitman: Codename 47
  • Indiana Jones and the Infernal Machine
  • Need For Speed: High Stakes.
  • Need for Speed III: Hot Pursuit
  • No One Lives Forever
  • Panzer Elite
  • Rayman 2: The Great Escape
  • Sacrifice
  • Star Trek: Bridge Commander
  • Star Wars: Rogue Squadron
  • Tachyon: The Fringe
  • Tomb Raider: Chronicles
  • Undying
  • Unreal Tournament
  • Vampire: The Masquerade - Redemption
  • Wizardry 8

  1. Главная ссылка к новости
  2. OpenNews: Выпуск DXVK 2.7, реализации Direct3D 8/9/10/11 поверх API Vulkan
  3. OpenNews: Выпуск DXVK-Sarek 1.11.0, реализации Direct3D 8/9/10/11 для GPU без поддержки Vulkan 1.3
  4. OpenNews: Компания Valve представила приставку Steam Machine и VR-шлем Steam Frame, поставляемые с Linux
  5. OpenNews: Релиз Proton 10.0-4, пакета для запуска Windows-игр в Linux
  6. OpenNews: Выпуск D7VK 1.2, реализации Direct3D 5, 6 и 7 поверх API Vulkan
Обсуждение (26 +26) | Тип: Программы |


·10.02 Toyota развивает собственный открытый игровой движок Fluorite (80 +19)
  На конференции FOSDEM представлен новый игровой движок Fluorite, развиваемый американским подразделением компании Toyota, отвечающим за разработку автомобильных информационно-развлекательных систем. Движок нацелен на предоставление возможностей, пригодных для создания 3D-игр уровня игровых консолей, и развивается с использованием технологий, применяемых Toyota в своём новом стеке для информационно-развлекательных систем, уже поставляемом в автомобиле Toyota RAV4 2026. Заявлено, что движок будет кросс-платформенным и полностью открытым.

Создание проекта объясняется желанием получить полнофункциональный игровой движок, интегрируемый с интерфейсами на базе Flutter и пригодный для использования на автомобильных информационно-развлекательных системах и встраиваемых устройствах, типа Raspberry Pi 5. До начала работы рассматривалась возможность задействования существующих игровых движков для создания интегрированного в автомобили игрового окружения. Движки Unity и Unreal были отброшены, как ресурсоёмкие, завязанные на бинарные блобы и требующие лицензионных отчислений. Godot не подошёл из-за большого потребления ресурсов и слишком длительного запуска на встраиваемых устройствах. Impeller и Flutter_GPU были отвергнуты из-за сырого API и проблем с поддержкой Linux (в Toyota IVI применяется Yocto Linux и собственный графический интерфейс на базе Wayland и Flutter).

Движок Fluorite интегрируется с фреймворком Flutter и позволяет разрабатывать игры на языке Dart, используя виджет FluoriteView для одновременного отображения разных представлений 3D-сцены и возможности Flutter для бесшовной интеграции игр с графическим окружением IVI-платформы, контроля за 3D-сценой из Flutter-виджетов и организации интерактивного взаимодействия. Имеется возможность создания интерактивных трёхмерных интерфейсов через определение в 3D-модели кликабельных зон, при клике на которые вызываются привязанные обработчики событий, по аналогии с событиями onClick на web-страницах.

Для достижения высокой производительности и низкого потребления ресурсов движок построен на базе архитектуры ECS (Entity-Component-System) и использует низкоуровневые компоненты на языке C++, поверх которых реализованы обвязки для создания игровой логики на языке Dart. Для отрисовки задействованы библиотека SDL3 и движок 3D-рендеринга Google Filament, поддерживающий физически корректный рендеринг (PBR). В планах интеграция движка симуляции физических процессов JoltPhysics.

Из особенностей упоминается поддержка изменения на лету 3D-сцены без перезапуска приложения (Hot Reload), задействование графического API Vulkan для аппаратно ускоренной графики, применение эффектов постпроцессинга, подключение собственных шейдеров, физически корректная модель освещения, возможность разработки 3D-моделей в Blender и поддержка форматов GLTF, GLB, KTX и HDR.

  1. Главная ссылка к новости
  2. OpenNews: Проект Flock основал форк фреймворка Flutter
  3. OpenNews: Google представил фреймворк Flutter 2 и язык Dart 2.12
  4. OpenNews: Google и Canonical реализовали во Flutter возможность создания десктоп-приложений для Linux
  5. OpenNews: Toyota оснастит Lexus IS информационной системой на базе Linux
  6. OpenNews: Toyota Camry станет первым автомобилем, оснащённым платформой Automotive Grade Linux
Обсуждение (80 +19) | Интересно


·09.02 Выпуск консольного браузера Offpunk 3.0, пригодного для работы в offline-режиме (50 +24)
  Представлен выпуск консольного браузера Offpunk 3.0, поддерживающего работу по протоколам HTTP/HTTPS, Gemini, Gopher и Spartan, а также чтение новостных лент в форматах RSS и Atom. Программа написана на языке Python и распространяется под лицензией AGPLv3.

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

Управление осуществляется через систему команд и комбинации клавиш. Имеется поддержка многоуровневых закладок, подписок и архивируемого контента. Для разных MIME-типов можно подключать свои обработчики. Разбор и отображение HTML-страниц производится с использованием библиотек BeautifulSoup4 и Readability. Изображения могут преобразовываться в ASCII-графику при помощи библиотеки chafa.

Для автоматизации выполнения действий используется RC-файл, определяющий последовательность команд при запуске. Например, через RC-файл можно автоматически открывать домашнюю страницу или загружать содержимое каких-то сайтов для последующего просмотра в offline. Загружаемое содержимое сохраняется в каталоге ~/.cache/offpunk/ в виде иерархии файлов в форматах .gmi и .html, что позволяет при необходимости изменять содержимое, проводить ручную чистку или просматривать страницы в других программах.

Проект продолжает развитие Gemini- и Gopher-клиентов AV-98 и VF-1, созданных автором протокола Gemini. Протокол Gemini значительно проще протоколов, используемых в Web, но при этом более функционален, чем Gopher. Сетевая часть Gemini напоминает сильно упрощённый HTTP поверх TLS (трафик обязательно шифруется), а разметка страниц ближе к Markdown, чем к HTML. Протокол подходит для создания компактных и лёгких гипертекстовых сайтов, лишённых усложнений, свойственных современному Web. Протокол Spartan рассчитан на передачу документов в формате Gemini, но отличается организацией сетевого взаимодействия (не использует TLS) и расширяет возможности Gemini средствами для обмена бинарными файлами и поддерживает отправку данных на сервер.

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

  • Реализована возможность просмотра комиксов XKCD в терминале. Для показа комиксов добавлена отдельная утилита "xkcdpunk".
  • В состав интегрирована библиотека "unmerdify", позволяющая извлекать основное содержимое из HTML-страниц, используя для отбрасывания лишнего набор правил "ftr-site-config".
  • Добавлены операции "share" и "reply" для отправки URL страницы на email и ответа автору при упоминании email на странице.
  • Добавлена команда "cookies", при помощи которой можно импортировать текстовый файл с Cookies, которые будут отправляться для указанного домена. Таким способом можно передавать сессионные Cookie для входа на сайт. Файл с Cookie можно сформировать в традиционном браузере (Firefox, Chromium) при помощи дополнения "cookie-txt", после чего его следует импортировать командой "cookies import mycookie.txt https://domain".
  • Включён по умолчанию показ изображений на страницах, открытых через Gemini. Увеличен размер показываемых в терминале изображений.
  • Реализован показ скрытых ссылок (из тегов <link rel="alternate"...>) на ленты RSS и Atom.
  • Реализовано выделение красным цветом ссылок на заблокированные домены.
  • Добавлена поддержка пресетов с несколькими темами оформления.
  • Добавлена возможность перевода интерфейса на разные языки.

  1. Главная ссылка к новости
  2. OpenNews: Выпуск минималистичного web-браузера links 2.30
  3. OpenNews: Релиз минималистичного web-браузера Dillo 3.2.0
  4. OpenNews: В рамках проекта Browsh развивается консольный браузер на базе Firefox
  5. OpenNews: Представлен Carbonyl, консольный браузер на основе движка Chromium
  6. OpenNews: Выпуск консольного web-браузера Chawan 0.3.3
Обсуждение (50 +24) | Тип: Программы |


·09.02 Релиз ядра Linux 6.19. Следующему ядру будет присвоен номер 7.0 (169 +29)
  После двух месяцев разработки Линус Торвальдс представил релиз ядра Linux 6.19. Среди наиболее заметных изменений: подсистема Live Update Orchestrator, поддержка PCIe Link Encryption, системный вызов listns, режим Zero-Copy Receive в io_uring, поддержка ARM-расширения MPAM, klp-build для генерации live-патчей, поддержка архитектуры LoongArch32, QoS для s2idle, оптимизация подсистемы аудита, Intel LASS для защиты от Spectre, поддержка хэшей SHA-3 и BLAKE2b, механизм Confidential VMBus, TX-оптимизации в сетевой подсистеме, протокол CAN XL, API для аппаратного ускорения HDR-вывода.

В анонсе новой версии Линус сообщил, что следующему выпуску ядра будет присвоен номер 7.0, так как в ветке 6.x накопилось достаточного выпусков для смены первого числа в номере версии (в своё время выпуск 6.0 был сформирован следом за 5.19). Смена нумерации осуществляется из эстетических соображений и является формальным шагом, снимающим дискомфорт из-за накопления большого числа выпусков в серии. Линус пошутил, что его сбивают с толку большие числа для которых не хватает пальцев на руках и ногах. При этом формально повод для значительного изменения номера версии есть, так как начиначиная со следующего выпуска поддержку Rust решено перевести из экспериментальных в основные возможности ядра.

В новую версию принято 15657 исправлений от 2237 разработчиков, размер патча - 52 МБ (изменения затронули 13682 файла, добавлено 794649 строк кода, удалено 335498 строк). В прошлом выпуске было 15035 исправлений от 2217 разработчиков, размер патча - 45 МБ. Около 40% всех представленных в 6.19 изменений связаны с драйверами устройств, примерно 13% изменений имеют отношение к обновлению кода, специфичного для аппаратных архитектур, 12% связано с сетевым стеком, 5% - с файловыми системами и 3% c внутренними подсистемами ядра.

Основные новшества в ядре 6.19 (1, 2, 3):

  • Дисковая подсистема, ввод/вывод и файловые системы
    • В Btrfs процессы проверки ФС (scrub) и замены устройств больше не блокируют переход системы в спящий режим (перед засыпанием сохраняется состояние scrub-проверки; после выхода из сна scrub-проверка продолжается, а операция замены устройств запускается заново). В реализацию RAID56 добавлена поддержка блоков, размер которых превышает размер страницы памяти. Проведена подготовка к поддержке fscrypt. Повышена производительность работы с блокировками при выполнении операций, связанных с резервированием места. Добавлена поддержка ioctl-операции "shutdown", позволяющей перевести ФС в состояние, при котором предпринимается попытка завершения выполнения уже запущенных операций, но блокируются все новые операции.
    • В файловой системе Ext4 включена поддержка блоков, размер которых превышает размер страницы памяти (>4KB на системах x86). Использование крупных блоков позволяет повысить производительность буферизированных операций записи в среднем на 50%, но снижает производительность прямого ввода/вывода из-за увеличения времени расчёта контрольных сумм. В новой версии также добавлены оптимизации, повысившие пропускную способность при выполнении online-дефрагментации.
    • В подсистеме FUSE улучшена поддержка буферизированного чтения при использовании больших фолиантов страниц памяти (large folios). Через iomap реализована возможность отслеживания частично актуальных фолиантов для загрузки только данных, отсутствующих в буфере.
    • В VFS добавлена поддержка отзываемого делегирования управления директорией (recallable directory delegation), позволяющего реализовать в NFS передачу управления директорией от сервера клиенту, чтобы NFS-клиент без обращений к NFS-серверу самостоятельно отслеживал состояние директории на основе локального кэша. Если другой NFS-клиент произведёт изменения, связанные с этой директорией, делегирование управления будет отозвано у первого клиента.
    • Для NFS добавлена поддержка чтения в режиме прямого ввода/вывода (direct I/O). Реализованы настройки /sys/kernel/debug/nfsd/io_cache_read и /sys/kernel/debug/nfsd/io_cache_write для управления включением кэширования и операций прямого ввода/вывода, манипуляции с данными настройками позволяют снизить накладные расходы на стороне NFS-клиента при выполнении крупных операций ввода/вывода.
    • В NTFS реализована поддержка ioctl-операции shutdown, включены по умолчанию опции монтирования "acl" и "prealloc", добавлена поддержка времени до 1 января 1970 года.
    • Для блочных устройств и ФС включено по умолчанию раздельное для каждого CPU кэширование объектов "bio" (Block I/O), определяющих активные операции ввода-вывода.
  • Память и системные сервисы
    • В ядро включена подсистема Live Update Orchestrator (LUO), позволяющая полноценно перезагрузить и обновить ядро без остановки работы и не теряя состояние системы, устройств и процессов. Подсистема LUO базируется на ранее добавленном в ядро механизме KHO (Kexec HandOver) и в дополнение к возможности запуска нового ядра из старого без потери состояния системы решает такие задачи, как сохранение состояния устройств и оперативной памяти, а также обеспечение непрерывности операций, связанных с DMA и обработкой прерываний. Состояние сохраняется до переключения на новое ядро и восстанавливается после задействования нового ядра без нарушения непрерывных операций с устройствами, осуществляемых системой и приложениями в пространстве пользователя.
    • Добавлен системный вызов listns() для вывода списка существующих в системе пространств имён без необходимости перебирать /proc/<pid>/ns/ для всех процессов.
    • В систему асинхронного ввода/вывода io_uring добавлена поддержка размещения элементов разного размера в очереди отправки (SQE, Submission Queue Entry), по аналогии с тем как в прошлом выпуске было разрешено смешивание размера содержимого очереди результатов (CQE, Completion Queue Event). До этого все элементы в очереди должны были иметь один размер, что приводило к излишнему потреблению памяти из-за необходимости использования максимального размера для всех элементов в очереди.

      В io_uring также добавлена поддержка механизма zcrx (Zero-Copy Receive) для получения данных без копирования между ядром и пространством пользователя. Добавлена поддержка запросов раскладки памяти для очередей SQ (Submission Queue) и CQ (Completion Queue), позволяющих получить информацию о размере кольцевого буфера, необходимую при пользовательском выделении памяти при помощи флагов IORING_SETUP_NO_MMAP и IORING_MEM_REGION_TYPE_USER.

    • Для быстрой трассировки стека при помощи утилит, таких как perf, добавлена поддержка формата SFrame с информацией о раскрутке стека вызовов (unwind). SFrame уже поддерживается в GCC и binutils, не приводит к снижению производительности и, в отличие от формата DWARF, содержит лишь минимальный набор информации, необходимой для трассировки стека.
    • В утилиту perf добавлена поддержка унифицированного описаний метрик и событий в формате JSON, а также отложенной раскрутки (deferred unwinding) стека вызовов в пространстве пользователя.
    • Для процессоров AMD реализован механизм подстановки данных в кэш, позволяющий устройствам ввода/вывода напрямую подставлять данные в L3-кэш CPU без их предварительного помещения в ОЗУ.
    • Добавлена поддержка MPAM (Memory System Resource Partitioning and Monitoring), расширения архитектуры набора команд ARMv8-A для пометки каждого обращения к памяти идентификатором секции (PARTID, Partition ID) и идентификатором группы мониторинга (PMG, Monitoring Group ID). В привязке к PARTID можно ограничить потребление ресурсов, таких как пропускная способность памяти или размер кэша, что бы какая-то группа задач не заняла все ресурсы. В контексте мониторинга сочетание PMG и PARTID можно использовать для отслеживание потребления ресурсов памяти при определённых видах нагрузки.
    • В случае аварийного завершения процесса после получения сигнала, другой процесс, имеющий pidfd завершившегося процесса, теперь может определить номер сигнала, приведшего к завершению процесса.
    • Переработана реализация перезапускаемых последовательностей (restartable sequences), позволяющих приложениям организовать псевдо-атомарное не прерываемое выполнение группы инструкций (в случае прерывания другим потоком, предпринимается повторная попытка выполнения последовательности). Новая реализация отличается более высокой производительностью.
    • Для BPF-программ реализованы инструкции BPF_JMP, BPF_X и BPF_JA для совершения косвенных переходов на определённую позицию из таблицы переходов. Добавлена концепция динамических указателей (dynptr), позволяющих читать данные из структурированных файлов. Добавлена возможность прикрепления к сетевым пакетам нескольких байтов с метаданными.
    • Модули на языке Python, используемые для обработки документации к ядру, перемещены в отдельных каталог tools/lib/python.
    • Добавлена функция mempool_alloc_bulk() для безопасного выделения элементов из пула памяти сразу под несколько объектов.
    • Продолжен перенос изменений из ветки Rust-for-Linux, связанных с использованием языка Rust в качестве второго языка для разработки драйверов и модулей ядра (поддержка Rust не активна по умолчанию, и не приводит ко включению Rust в число обязательных сборочных зависимостей к ядру). В новой версии в состав ядра встроена библиотека "syn" с парсером Rust-кода, упрощающим написание сложных макросов. Расширены возможности библиотек kernel, pin-init и rbtree. Добавлена библиотека 'num' с типажом Integer для манипуляции целыми числами. В макрос "module!" добавлена поддержка целочисленных параметров. Реализована возможность указания параметров при загрузке модулей ядра, написанных на Rust. Реализованы абстракции для подсистем I2C и PWM (Pulse Width Modulation).
    • Добавлен макрос "at_least" (например, "param[at_least 7]", информирующий о минимально допустимом размере массива, передаваемого в функцию. Если в функцию будет передан массив с меньшим числом элементов, то компилятор выведет предупреждение.
    • В состав включён скрипт klp-build для генерации модулей ядра, вносящих изменения в работающее ядро (livepatch), на основе файла с патчем. В утилиту objtool внесены изменения, необходимые для создания live-патчей.
    • В User-mode Linux (запуск ядра как пользовательского процесса) добавлена ограниченная поддержка многопроцессорности, но потоки внутри одного процесса пока не могут выполняться одновременно. Началось портирование User-mode Linux на библиотеку nolibc.
    • Добавлена поддержка архитектуры LoongArch32 (LA32R, LA32S) в дополнение к LoongArch64.
    • Добавлена возможность выставления QoS-лимитов на интенсивность пробуждения процессора в режиме экономии энергии s2idle (Suspend-To-Idle), замораживающего выполнение процессов в пространстве пользователя, но оставляющего активными некоторые обработчики в ядре.
    • Добавлена поддержка управления таблицами страниц памяти для контроллеров IOMMU (Input-Output Memory Management Unit), выполняющих трансляцию виртуальных адресов, видимых аппаратным устройством, в физические адреса, с возможностью фильтровать операции DMA по виртуальным адресам, а также ограничивать и изолировать операции ввода-вывода.
    • В событиях трассировки системных вызовов реализована возможность чтения буферов из пространства пользователя и включения их содержимого (например, имён файлов) в результат трассировки.
    • Сторожевые страницы памяти (guard page), обращение к которым вызывает исключение и аварийное завершение процесса (SIGSEGV), теперь помечаются особой меткой в файле /proc/PID/smaps.
    • Добавлена возможность управления крупными страницами памяти (transparent huge page) в приватной памяти зонированных устройств.
    • В устройстве zram, применяемом для сжатого хранения раздела подкачки в памяти, реализована поддержка вытеснения нескольких структур "bio" (Block I/O) в пакетном режиме (writeback batching).
    • В состав включён шрифт "Terminus 10x18", улучшающий читаемость информации с консоли на экранах ноутбуков со средним разрешением (1440x900).
    • Значительно оптимизирована работа подсистемы аудита - отмечается снижение накладных расходов в два раза.
  • Виртуализация и безопасность
    • Добавлена поддержка предоставляемой процессорами Intel возможности для разделения линейного пространства адресов (LASS, linear address-space separation), позволяющей аппаратно разделить диапазоны адресов пространства пользователя и ядра для повышения безопасности. Адресное пространство разделяется по старшему биту адреса - половина адресного пространства с установ­ленным старшим битом используется для ядра, а нижняя - для пространства пользователя. На раннем этапе выполнения инструкций (на стадии до спекулятивного выполнения) осуществляется проверка допустимости обращения из пространства пользователя к адресам с выставленным старшим битом и наоборот. Подобное разделение позволяет блокировать утечки памяти ядра в пространство пользователя по сторонним каналам даже при спекулятивном выполнении инструкций, что даёт возможность применять LASS для защиты от атак класса Meltdown и Spectre, не приводящей к большим накладным расходам.
    • Добавлена возможность включения расширений усиления безопасности шины PCI Express - PCIe Link Encryption и PCIe Device Authentication, позволяющих подтверждать подлинность и шифровать канал связи между устройством PCIe и виртуальной машиной, защищённой при помощи механизмов Intel TDX (Trusted Domain Extensions) и AMD SEV-SNP (Secure Nested Paging). Реализованные технологии не позволяют перехватывать, анализировать и подставлять данные в трафик DMA при наличии доступа к хост системе или другим устройствам.
    • Во встроенную криптографическую библиотеку добавлена поддержка алгоритмов SHA-3 (SHA3-224, SHA3-256, SHA3-384, SHA3-512) SHAKE128, SHAKE256 и BLAKE2b.
    • Для LSM-модулей (Linux Security Modules) и, в частности для SELinux, реализована возможность отслеживания создания дескрипторов memfd для применения политик безопасности к связанным с ними объектам.
    • В LSM-модуль IPE (Integrity Policy Enforcement), определяющий общую политику обеспечения целостности для всей системы, добавлена поддержка флага AT_EXECVE_CHECK в функции execveat(), включающего проверку целостности скрипта перед его выполнением интерпретатором.
    • Добавлены примитивы scoped_user_read_access(), scoped_user_write_access и scoped_user_rw_access() для ограниченного доступа к данным в пользовательском пространстве с защитой спекулятивных атак.
    • Добавлена поддержка механизма Confidential VMBus, используемого в гипервизоре HyperV для защищённого от вмешательства гипервизора взаимодействия между гостевой системой, выполняемой в конфиденциальном режиме (с шифрованием памяти и изоляцией регистров на базе технологий AMD SNP и Intel TDX), и paravisor-ом, отвечающим за обращение к устройствам, обрабатывающим конфиденциальные данные.
    • Добавлена возможность передачи информации об аварийно завершившемся процессе (для генерации coredump) через механизм pidfd. Идентификатор PIDFD связывается с конкретным процессом и не меняется, в то время как PID может быть привязан к другому процессу после завершения текущего процесса, ассоциированного с этим PID. Использование pidfd позволяет блокировать совершение атак по подмене аварийно завершившегося suid-процесса на другой процесс, добиваясь состояния гонки в момент после начала обработки ядром аварийного завершения, но до проверки обработчиком в пространстве пользователя параметров процесса.
  • Сетевая подсистема
    • В сетевую подсистему внесены оптимизации для повышения эффективности передачи данных (TX). Избавление функции __dev_queue_xmit() от spin-блокировки и использование работающей без блокировок структуры llist позволило в 4 раза увеличить производительность при большой нагрузке и удвоить интенсивность отправки пакетов при снижении нагрузки на CPU в два раза.
    • Предоставлена возможность отключения для отдельных сетевых сокетов системных лимитов на использование памяти (в этом случае будут использованы общие лимиты на память, задаваемые для отдельных контейнеров). Для управления отключения лимитов предложен sysctl net.core.bypass_prot_mem и флаг SK_BPF_BYPASS_PROT_MEM в функции bpf_setsockopt.
    • Добавлена поддержка расширения RFC 5837, добавляющего в ICMP-сообщения "Time Exceeded", возвращаемые при истечении времени жизни (TTL) пакета, данные о входящих сетевых интерфейсах для получения более детальной информации при трассировке маршрутов утилитой traceroute.
    • Добавлена поддержка непрерывного активного полинга (busy polling) в отдельном потоке ядра с целью извлечения дескрипторов из RX/TX-очередей для приложений, требующих минимальных задержек.
    • Добавлена поддержка протокола CAN XL (Controller Area Network eXtended Length), в котором размер поля с данными увеличен до 2048 байт для обеспечения интеграции с сетями TCP/IP, реализована возможность туннелирования Ethernet-кадров и добавлена поддержка широтно-импульсной модуляции, позволившая передавать данные на скоростях 20 Мбит/с и выше.
    • Добавлена поддержка структуры sockaddr_unsized, варианта структуры sockaddr, использующего массив с гибкими элементами вместо массива фиксированного размера (sa_data[] вместо sa_data[14], который по сути использовался для ссылок на другие структуры большего размера).
    • Добавлена возможность использования функциональности getsockname и getpeername через подсистему io_uring.
    • Добавлены sysctl net.ipv4.tcp_rcvbuf_low_rtt и net.ipv4.tcp_comp_sack_rtt_percent для оптимизации TCP.
    • Добавлена поддержка линков с пропускной способностью 1600 Gbps (1.6T).
  • Оборудование
    • В подсистему DRM (Direct Rendering Manager) добавлен API для использования аппаратных возможностей преобразования цвета, позволяющих обойтись без выполнения подобных преобразований через шейдеры или выполнение кода на CPU. Для вывода контента на HDR-монитор сложные цветовые преобразования теперь могут осуществляться дисплейным контроллером на стадии до и после смешивания слоёв (blending), вместо программного композитинга содержимого в финальный буфер отображения. Помимо снижения накладных расходов и энергопотребления при организации вывода в HDR, предложенная функциональность может использоваться для корректной цветопередачи в редакторах видео или изображений.
    • Добавлен драйвер "ethosu" для NPU Arm Ethos U65 и U85, предназначенных для аппаратного ускорения выполнения AI-моделей.
    • В драйвере i915 для GPU Lunar Lake и новее добавлена поддержка аппаратного повышения чёткости изображения (Sharpening).
    • Продолжена работа над drm-драйвером (Direct Rendering Manager) Xe для GPU на базе архитектуры Intel Xe, которая используется в видеокартах Intel семейства Arc и интегрированной графике, начиная с процессоров Tiger Lake. Добавлена начальная поддержка архитектуры Xe3P, используемой в GPU Crescent Island и семействе процессоров с интегрированной графикой Nova Lake.
    • В драйвере AMDGPU реализована полноценная поддержка видеокарт AMD семейства GCN 1.0 "Southern Island" и 1.1 "Sea Islands", для работы с которыми ранее использовался драйвер Radeon. Драйвер AMDGPU доведён до паритета по возможностям с драйвером Radeon и активирован для указанных GPU по умолчанию. Карты GCN 1.x выпускались с 2012 по 2019 год и охватывают такие модели, как Radeon HD 77xx/78xx/79xx/87xx/88xx/89xx, Radeon R9 280, FirePro W4000-W9000, Radeon Sky 700/900, Radeon R9 265/270/370, Radeon R9 290/390, HD 7790 / 8870 и иные видеокарты семейств Radeon Rx 200 / Rx 300. Помимо увеличения производительности в среднем на 24%, переход на AMDGPU позволил реализовать для данных GPU поддержку графического API Vulkan 1.3. Кроме того, в AMDGPU добавлена поддержка аналоговых коннекторов и Video Coding Engine 1.0, а также задействован по умолчанию стек DC (Display Core) для GPU на базе микроархитектуры Bonaire (Radeon HD 7790).
    • В драйвере Nouveau реализована поддержка аппаратного ускорителя NVJPG, присутствующего в SoC Tegra210.
    • В драйвер Panthor добавлена поддержка GPU Mali-G1 и начальная поддержка чипа MediaTek MT8196.
    • Добавлена поддержка звуковой подсистемы чипов Intel Nova Lake S, ноутбуков HP с HDA CS35L41, а также звуковых интерфейсов CIX IPBLOQ HD и Onkyo SE-300PCIE.
    • Продолжена интеграция компонентов драйвера Nova для GPU NVIDIA, оснащённых GSP-прошивками, используемыми начиная с серии NVIDIA GeForce RTX 2000 на базе микроархитектуры Turing. Драйвер написан на языке Rust. В новой версии началась работа над RPC и завершена реализация загрузки сопроцессора GSP (GPU System Processor).
    • Добавлена поддержка ARM-плат, SoC и устройств: Bananapi r4 pro, LinkEase EasePi R1, Qualcomm MSM8937 (Snapdragon 430), Renesas R-Car X5H, FriendlyElec NanoPi R76S, TI AM62L, Black Sesame Technologies C1200, Aspeed AST2600, Genio 1200 EVK, grinn geniosbc-510/700, Tanix TX9 Pro, Radxa Dragon Q6A, Tinker Board 3/3S, Aquila AM69, phyBOARD-Segin-i.MX91, i.MX 95 Verdin Evaluation Kit, Toradex SMARC iMX95, VIDIA Jetson Nano 2GB, Renesas rz/g3s, Indiedroid Nova, 24 варианта плат Enclustra Mercury.
    • Добавлена поддержка смартфонов и планшетов на базе SoC Mediatek MT6582 (Alcatel yarisxl), Nvidia Tegra124 (Xiaomi Mi Pad) и Qualcomm MSM8939 (ASUS ZenFone 2). Добавлена поддержка ноутбуков на SoC Qualcomm sdm850, таких как Huawei MateBook E 2019.
    • Добавлена поддержка SoC и плат на базе архитектуры RISC-V: OrangePi R2S, OrangePi RV, Anlogic dr1v90, Tenstorrent Blackhole.

Одновременно латиноамериканский Фонд свободного ПО сформировал вариант полностью свободного ядра 6.19 - Linux-libre 6.19-gnu, очищенного от элементов прошивок и драйверов, содержащих несвободные компоненты или участки кода, область применения которых ограничена производителем. В выпуске 6.19 из звуковой подсистемы SDCA удалён код для загрузки бинарных прошивок. Обновлён код чистки blob-ов в драйверах Intel XE, Nova-Core, Qualcomm Iris, Venus and Q6V5, TI PRUeth, Intel iwlwifi, Marvell mwifiex, FourSemi fs210x, Realtek rt1320 и звуковых кодеках TI tas2783. Выполнена чистка имён blob-ов в dts-файлах (devicetree) для ARM-чипов. Прекращена чистка драйвера STM C8SECTPFE DVB, удалённого из ядра.

  1. Главная ссылка к новости
  2. OpenNews: Релиз ядра Linux 6.18
  3. OpenNews: Релиз ядра Linux 6.17
  4. OpenNews: Релиз ядра Linux 6.16
  5. OpenNews: Релиз ядра Linux 6.15
  6. OpenNews: Релиз ядра Linux 6.14
Обсуждение (169 +29) | Тип: Программы | Интересно


·08.02 AI-модель Claude Opus 4.6 выявила более 500 ранее неизвестных уязвимостей (245 +26)
  Компания Anthropic объявила о расширении в AI-модели Claude Opus 4.6 возможностей по поиску уязвимостей в коде и поделилась результатами эксперимента, в ходе которого выявлено более 500 ранее неизвестных (0-day) уязвимостей в последних версиях различных открытых проектов. Работа была сфокусирована на поиске уязвимостей, вызванных проблемами при работе с памятью, так как их наличие проще проверить. Всем выявленным уязвимостям присвоен высокий уровень опасности. Каждая уязвимость была вручную проверена и подтверждена сотрудниками Anthropic или привлечёнными внешними исследователями безопасности.

Для анализа уязвимостей были привлечены кодовые базы популярных открытых проектов, уже длительное время проходящие непрерывное fuzzing-тестирование в сервисе OSS-Fuzz. В отличие от fuzzing-тестирования, при котором генерируется поток всевозможных случайных комбинаций входных данных, AI-модель пыталась анализировать код, учитывая прошлые исправления для выявления похожих неустранённых ошибок, выделяя проблемные шаблоны и логически выводя, какие входные данные могут нарушить ход выполнения.

Информация о выявленных в ходе эксперимента уязвимостях уже начала передаваться сопровождающим, с которыми ведётся совместная работа по принятию исправлений. Чтобы помочь сопровождающим в ходе проведённой проверки вручную были разработаны патчи для исправления выявленных проблем. В качестве примера приведены три уязвимости в GhostScript, OpenSC и CGIF, которые на момент публикации устранены сопровождающими.

Используемая для выявления проблем конфигурация не была похожа на традиционные системы автоматического поиска уязвимостей - модели Claude Opus 4.6 был предоставлен доступ к виртуальной машине, в которой помимо исследуемого кода были установлены типовые инструменты разработчиков (coreutils, Python и т.п.) и утилиты для отладки и анализа уязвимостей (в том числе утилиты для fuzzing-тестирования). Модели не давалась чёткая инструкция по использованию данных инструментов и не предоставлялись специальные сведения о методах поиска уязвимостей. Модели была лишь поставлена задача и предоставлена возможность самостоятельно рассуждать об оптимальном использовании доступных инструментов.

Поиске уязвимостей в GhostScript AI-модель вначале попыталась провести fuzzing-тестирование, но когда это не привело к результату переключилась к анализу кода. Анализ кода тоже не дал результата и тогда модель начала изучать историю изменений в git и в одном из коммитов заметила упоминание проверки границ буфера. Разобрав коммит модель определила, что исправление добавляло недостающую проверку границ буфера при обработке шрифтов.

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

В CGIF AI-модель отталкивалась от того, что при распаковке GIF-файлов библиотека рассматривала, что размер сжатых данных всегда меньше распакованных. Поиск уязвимости был сосредоточен на определении условий, при которых сжатые алгоритмом LZW данные окажутся больше распакованных. Подобные условия были найдены и AI-модель смогла сформировать GIF-файл, обработка которого привела к переполнению буфера. В OpenSC проблема была выявлена после анализа использования в коде потенциально опасных функций strrchr и strcat.

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

  1. Главная ссылка к новости
  2. OpenNews: Anthropic опубликовал Си-компилятор, созданный AI-моделью Claude Opus и способный собрать ядро Linux
  3. OpenNews: Компания Anthropic выделила 1.5 млн долларов проекту Python
  4. OpenNews: JavaScript-платформа Bun перешла в руки компании Anthropic
  5. OpenNews: LLVM ввёл правила применения AI-инструментов. Curl и Node.js ограничат выплаты за уязвимости из-за AI
  6. OpenNews: Защита от мусорных AI-изменений на GitHub. Оценка влияния вайб-кодинга на экосистему открытого ПО
Обсуждение (245 +26) | Тип: Проблемы безопасности |


·08.02 Сопровождающий 16 модулей GNOME ограничит своё участие в проекте (102 +29)
  Кристиан Хергерт (Christian Hergert), автор интегрированной среды разработки GNOME Builder, эмулятора терминала Ptyxis и текстового редактора GNOME Text Editor, объявил, что в связи с переездом из США во Францию и изменением приоритетов в жизни, больше не сможет уделять должное внимание разработке GNOME. Кристиан являлся почти единственным активным сопровождающим 16 модулей GNOME и более сорока часов в неделю уделял поддержке и развитию стека GNOME. Отмечается, что после переезда его возможности по участию в разработке будут сильно ограничены и основное время он будет уделять семье, новой деятельности и налаживанию быта на новом месте.

В качестве причины переезда упоминается новая миграционная политика США (у Криса жена родом из Тибета). Крис был трудоустроен в Red Hat, но данная компания отклонила его просьбу сохранить должность после переезда во Францию, несмотря на предоставление доказательства наличия рисков для его семьи.

Cписок модулей, сопровождением и разработкой которых занимался Крис:

  • GtkSourceView - библиотека для встраивания в приложения виджета многострочного редактирования текста, применяется во многих редакторах на базе GTK.
  • Text Editor - основной текстовый редактор GNOME.
  • Ptyxis - эмулятор терминала, по умолчанию используется в Fedora, Debian, Ubuntu, RHEL/CentOS/Alma/Rocky.
  • libspelling - библиотека для использования в GTK-приложениях проверки правописания на базе пакета enchant2.
  • Sysprof - система профилирования, интегрируемая с Linux perf, Mesa, GTK, Pango, GLib, WebKit, Mutter.
  • Builder - интегрированная среда разработки.
  • template-glib - шаблонизатор для GObject.
  • jsonrpc-glib - библиотека для взаимодействия через JSON-RPC.
  • libpeas - движок для создания плагинов на C, C++, Rust, Lua, Python и JavaScript.
  • libdex - библиотека для отложенного выполнения задач и интеграции с io_uring.
  • GOM - маппинг объектов GObject в SQLite.
  • Manuals - просмотрщик документации.
  • Foundry - реализация функциональности GNOME Builder для использования из командной строки и в форме библиотеки.
  • d-spy - утилита для анализа соединений D-Bus.
  • libpanel - виджеты для создания сложных IDE-подобных приложений на базе GTK и libadwaita.
  • libmks - GTK-компоненты для отображения экрана и передачи событий мыши/клавиатуры при взаимодействии с виртуальными машинами на базе QEMU.

  1. Главная ссылка к новости
  2. OpenNews: Оценка влияния оптимизаций в GNOME 46 на эффективность работы эмуляторов терминала
  3. OpenNews: Представлен Bonsai, сервис синхронизации устройств для GNOME
  4. OpenNews: Для GNOME развивается собственная интегрированная среда разработки приложений
  5. OpenNews: В Ubuntu 25.10 заменят эмулятор терминала и просмотрщик изображений
  6. OpenNews: Представлен Perfkit, интерфейс для профилирования и мониторинга приложений
Обсуждение (102 +29) | Тип: Программы |


·08.02 Опубликована мобильная платформа LineageOS 23.2 (119 +34)
  Доступен выпуск мобильной платформы LineageOS 23.2, продолжающий развитие кодовой базы на основе Android 16. Ветка LineageOS 23.2 достигла паритета по функциональности и стабильности c веткой 23.0, и признана готовой для формирования релиза. Сборки подготовлены для 148 моделей устройств. LineageOS также можно запустить в эмуляторе Android Emulator, в QEMU и в среде Android Studio. Дополнительно, предоставлена возможность сборки в режиме Android TV и Android Automotive.

Выпуск LineageOS 23.2 примечателен синхронизацией с актуальной кодовой базой из репозитория AOSP (Android Open Source Project), соответствующей второму квартальному обновлению платформы Android 16 (QPR2). Выпуск LineageOS 23.1 пропущен, так как AOSP теперь обновляется раз в полгода, а не раз в квартал. В дальнейшем промежуточные релизы LineageOS будут выпускаться не четыре, а два раза в год.

Из функциональных изменений в LineageOS 23.2 отмечается задействование нового оформления и цветовой схемы, соответствующих предложенной в Android 16 концепции дизайна Material Expressive 3. Приложения обновлены и по возможности также переведены на концепцию оформления Material Expressive. Среди прочего новое оформление задействовано в музыкальном проигрывателе Twelve (Music Player), часах Deskclock и калькуляторе ExactCalculator.

Обновлён интерфейс выпадающей панели с быстрыми настройками - плитки в панели теперь полностью настраиваются. В дополнение к базовой теме оформления предложена опциональная расширенная тёмная тема. Расширена функциональность утилит для работы с файлами. Для разработчиков прошивок предложено несколько новых утилит для извлечения RRO (Runtime Resource Overlay), обновления сертификатов приложений, извлечения правил SELinux и файлов конфигурации из системных образов.

Отдельно отмечена значительная переработка программы для управления обновлением прошивки (Updater), в которой полностью переделан интерфейс, улучшено управление обновлениями и добавлена анимация прогресса выполнения операций. Переделанный вариант Updater признан не готовым для включения в состав LineageOS 23.2, но он будет предложен в скором времени после достижения должного уровня стабильности.

  1. Главная ссылка к новости
  2. OpenNews: Опубликована мобильная платформа LineageOS 23, основанная на Android 16
  3. OpenNews: Выпуск мобильной платформы /e/OS 3.2
  4. OpenNews: Фонд СПО раскрыл подробности о проекте Librephone
  5. OpenNews: Pine64 свернул проект PinePhone Pro и сосредоточился на архитектуре RISC-V
  6. OpenNews: Выпуск платформы Android 16 QPR2 с поддержкой запуска графических Linux-приложений
Обсуждение (119 +34) | Тип: Программы |


·07.02 Инициатива по встраиванию моделей машинного обучения в ядро Linux (189 –49)
  Вячеслав Дубейко из компании IBM запустил в списке рассылки разработчиков ядра Linux обсуждение использования в ядре моделей машинного обучения, а также предложил для тестирования набор патчей с библиотекой для интеграции ML-моделей в ядро и примером символьного драйвера, использующего библиотеку.

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

Помимо движка для выполнения моделей рассматривается разработка инструментов сбора данных для обучения ML-моделей, непосредственно обучения модели и тестирования результата. Так как для выполнения ML-модели требуются операции с плавающей запятой, а в ядре не допускается прямое использование FPU, предложенный прототип представляет собой прослойку для обращения из различных подсистем ядра к ML-моделям, выполняемым в пользовательском пространстве, по аналогии с выносом в пользовательское пространство обработчиков SPDK, DPDK и ublk.

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

  1. Главная ссылка к новости
  2. OpenNews: Набор подсказок для рецензирования изменений в ядре Linux и systemd при помощи AI
  3. OpenNews: Представлены правила для AI-ассистентов, применяемых при разработке ядра Linux
  4. OpenNews: В ядре Linux появится возможность использования eBPF для создания планировщиков задач
  5. OpenNews: Опубликован scx_horoscope, астрологический планировщик задач для ядра Linux
  6. OpenNews: Линус Торвальдс поэкспериментировал с вайб-кодингом в своём новом проекте AudioNoise
Обсуждение (189 –49) | Тип: К сведению |


·07.02 Anthropic опубликовал Си-компилятор, созданный AI-моделью Claude Opus и способный собрать ядро Linux (405 –13)
  В качестве демонстрации возможности автономно создавать крупные проекты при помощи новой AI-модели Claude Opus 4.6, компания Anthropic сгенерировала компилятор для языка Си - claudes-c-compiler, пригодный для сборки ядра Linux, PostgreSQL, SQLite, Redis, FFmpeg, GNU coreutils, Busybox, CPython, QEMU, LuaJIT и ещё около 150 протестированных известных открытых проектов. Результирующие сборки успешно прошли предоставляемые проектами тестовые наборы. Собранное ядро Linux успешно загружается и даёт возможность запустить игру Doom. Код компилятора сгенерирован на языке Rust и опубликован как общественное достояние (CC0). Поддерживается компиляция проектов для архитектур x86_64, i686, AArch64 и RISC-V 64.

Весь код и документация к компилятору сгенерированы моделью Claude Opus 4.6. Участие человека свелось к определению тестовых сценариев, которым должен удовлетворять итоговый продукт. Интерактивный режим для разработки, отладки и контроля над качеством не применялся, Модель Claude Opus сама выполнила всю работу на основе поставленной задачи. Ручное рецензирование корректности работы компилятора не проводилось, поэтому он не рекомендован для использования помимо экспериментов. Степень прохождения тестовых наборов компиляторов, включая GCC Torture Tests, составляет 99%.

Для разработки компилятора было привлечено 16 AI-агентов, которые после двух недель работы и около двух тысяч сеансов в Claude Code сгенерировали 100 тысяч строк кода на Rust, выполняющих задачу сборки ядра Linux 6.9 для архитектур x86, ARM и RISC-V. При генерации кода использовался новый режим работы "agent teams", позволяющий организовать параллельную работу нескольких AI-агентов Claude над одной общей кодовой базой, осуществляемую автономно без вмешательства человека. По стоимости доступа к API создание компилятора оценено в 20 тысяч долларов (передано 2 миллиарда входных токенов и сгенерировано 140 миллионов выходных токенов).

Компилятор самодостаточен и не требует внешних зависимостей, кроме стандартной библиотеки Rust. Все компоненты созданы с нуля, включая фронтэнд, промежуточное представление (IR) на базе SSA, оптимизатор, генератор кода, ассемблер, компоновщик и генератор отладочной информации в формате DWARF. Фронтэнд совместим на уровне опций с GCC и может использоваться в качестве прозрачной замены GCC. На выходе генерируются исполняемые файлы в формате ELF. Поддерживается только платформа Linux (задача поддержки macOS и Windows не ставилась).

Из ограничений отмечается отсутствие раздельных уровней оптимизации (уровни с -O0 по -O3, -Os и -Oz приводят к одинаковой оптимизации), имеются проблемы с использованием _Atomic и _Complex, частично поддерживается ключевое слово __attribute__ и частично реализовано использование инструкций NEON. Помимо ограничений, описанных в подготовленной AI документации к компилятору, в статье с анонсом проекта упоминаются некоторые дополнительные проблемы:

  • Отсутствие поддержки компиляции в 16-разрядном режиме (необходимый для загрузки ядра 16-разрядный код был собран в GCC).
  • Ошибки в реализациях компоновщика и ассемблера (при подготовке демонстрации использовались GNU assembler и GNU linker).
  • Claudes-c-compiler пока не готов заменить реальные компиляторы, так как не все проекты успешно собираются.
  • Cтепень оптимизации генерируемого кода хуже, чем в GCC с отключением всех режимов оптимизации.
  • Качество сгенерированного Rust-кода приемлемое, но заметно хуже чем код, подготовленный профессиональным программистом.
  • Проект близок к потолку возможностей модели Opus 4.6 - попытки исправить ошибки или добавить дополнительные возможности, как правило, приводили к нарушению имеющейся функциональности.


  1. Главная ссылка к новости
  2. OpenNews: Релиз набора компиляторов LLVM 21
  3. OpenNews: Релиз набора компиляторов GCC 15
  4. OpenNews: Fil-C - компилятор для языков C и C++, гарантирующий безопасную работу с памятью
  5. OpenNews: Набор подсказок для рецензирования изменений в ядре Linux и systemd при помощи AI
  6. OpenNews: Эксперимент по использованию AI для перевода приложения с GTK2 и OpenGL на GTK4 и Vulkan
Обсуждение (405 –13) | Интересно


·07.02 Выпуск Wine 11.2 (54 +28)
  Опубликован экспериментальный выпуск открытой реализации Win32 API - Wine 11.2. С момента выпуска 11.1 было закрыто 32 отчёта об ошибках и внесено 238 изменений.

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

  • В DbgHelp оптимизирована загрузка PDB-файлов.
  • В crt (C runtime) добавлена поддержка выполнения конструкторов и деструкторов MSVC.
  • Упрощена генерация версионированных ресурсов из переменных в makefile.
  • Обновлены библиотеки libpng 1.6.54, libxslt 1.1.45 и libjpeg 10.
  • Начато добавление патчей, делающих возможным установку Adobe Creative Cloud 2025 (Adobe Photoshop 2025, Adobe Premiere Pro 2025 и т.д.). Дополнение: В Wine Staging 11.2 добавлено больше патчей для обеспечения работы инсталлятора Adobe Creative Cloud 2025 и 2026.
  • Закрыты отчёты об ошибках, связанные с работой приложений: Bitcoin 0.3.21, Visual Basic 6, explorer.exe, Futuremark 3DMark Vantage 1.1.x, Alacritty, MilkyTracker, MMH7Editor, Pegasus Mail, Nexus Terminal.
  • Закрыты отчёты об ошибках, связанные с работой игр: King of Dragon Pass, Imperivm: Great Battles of Rome, Black Mirror, The Hong Kong Massacre, Sam & Max Save the World: Culture Shock, Fifa 2005, 4Story, Divinity II: Developer's Cut, GTA: San andreas/Vice city, Shop Titans , Gothic 1, Kyodai Mahjongg, Codename Panzers Phase 1 и Codename Panzers Phase 2.

  1. Главная ссылка к новости
  2. OpenNews: Выпуск Wine 11.1. В Wine Staging добавлена поддержка установщика Adobe Photoshop 2025
  3. OpenNews: Стабильный релиз Wine 11.0
  4. OpenNews: Выпуск DXVK 2.7, реализации Direct3D 8/9/10/11 поверх API Vulkan
  5. OpenNews: Выпуск D7VK 1.2, реализации Direct3D 5, 6 и 7 поверх API Vulkan
Обсуждение (54 +28) | Тип: Программы |


Следующая страница (раньше) >>



Партнёры:
PostgresPro
Inferno Solutions
Hosting by Hoster.ru
Хостинг:

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