Профиль: Аноним (вход | регистрация) неRU opennet.me  
The OpenNET Project / Index page

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

·21.08.2026 Релиз серверной JavaScript-платформы Bun 1.4, переписанной с Zig на Rust (92 +2)
  Представлен выпуск платформы Bun 1.4, предназначенной для обособленного выполнения приложений, написанных на языках JavaScript и TypeScript, и нацеленной на использование в качестве прозрачной замены платформы Node.js. Ветка 1.4 примечательная переводом кодовой базы с языка Zig на язык Rust, осуществлённым с использованием AI-инструментов Claude. Код продолжает распространяться под лицензией MIT.

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

Судя по проведённым тестам, версия на Rust потребляет на 13-48% меньше памяти, запускается в два раза быстрее и до 5 раз меньше нагружает CPU в режиме простоя. Размер исполняемого файла в версии на Rust сократился на 17%. При запуске при помощи Bun 1.4 приложения Claude Code нагрузка на CPU уменьшилась в два раза.

В состав включено 1517 дополнительных тестов для проверки совместимости и устранено более 2900 проблем. В базовую поставку добавлены новые библиотеки Bun.Image, Bun.WebView, Bun.markdown, Bun.cron() и Bun.Terminal. В командах "bun run" и "bun test" реализован режим параллельного запуска (--parallel). Обеспечена совместимость с фреймворками Next.js 16 и vitest.

Проект Bun поддерживает большую часть API Node.js. В состав платформы входит набор инструментов для создания и выполнения приложений на языках JavaScript и TypeScript, а также runtime для выполнения JavaScript-приложений без браузера, пакетный менеджер (совместимый с NPM), инструментарий для выполнения тестов, система сборки самодостаточных пакетов и прослойка для встраивания обработчиков, написанных на языке Си. По производительности Bun заметно обгоняет Deno и Node.js (в тестах на базе фреймворка React платформа Bun в 2 раза опережает Deno и почти в 5 раз Node.js). Для выполнения JavaScript задействован JavaScript-движок JavaScriptCore и компоненты проекта WebKit с дополнительными патчами.

  1. OpenNews: Представлены Buz и Cruller, форки JavaScript-платформы Bun, продолжающие развитие на языке Zig
  2. OpenNews: JavaScript-платформа Bun перешла в руки компании Anthropic
  3. OpenNews: Доступна серверная JavaScript-платформа Bun 1.0, более быстрая, чем Deno и Node.js
  4. OpenNews: Автор платформы Bun проводит эксперимент по переписыванию с Zig на Rust
  5. OpenNews: Утверждён перевод JavaScript-платформы Bun на язык Rust
Обсуждение (92 +2) | Тип: Программы |
·20.08.2026 Выпуск Rust 1.98.0. Компрометация пакета arrayref, насчитывающего 53 млн загрузок за 3 месяца (203 +7)
  Опубликован релиз языка программирования Rust 1.98, основанного проектом Mozilla, но ныне развиваемого под покровительством независимой некоммерческой организации Rust Foundation. Язык сфокусирован на безопасной работе с памятью и предоставляет средства для достижения высокого параллелизма выполнения заданий, при этом обходясь без использования сборщика мусора и runtime (runtime сводится к базовой инициализации и сопровождению стандартной библиотеки).

Методы работы с памятью в Rust нацелены на исключение ошибок при манипулировании указателями и защиту от проблем, возникающих из-за низкоуровневой работы с памятью, таких как обращение к области памяти после её освобождения, разыменование нулевых указателей, выход за границы буфера и т.п. Для распространения библиотек, обеспечения сборки и управления зависимостями проектом развивается пакетный менеджер Cargo. Для размещения библиотек поддерживается репозиторий crates.io.

Безопасная работа с памятью обеспечивается в Rust во время компиляции через проверку ссылок, отслеживание владения объектами, учёт времени жизни объектов (области видимости) и оценку корректности доступа к памяти во время выполнения кода. Rust также предоставляет средства для защиты от целочисленных переполнений, требует обязательной инициализации значений переменных перед использованием, лучше обрабатывает ошибки в стандартной библиотеке, применяет концепцию неизменяемости (immutable) ссылок и переменных по умолчанию, предлагает сильную статическую типизацию для минимизации логических ошибок.

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

  • Для типов с плавающей запятой f32 и f64 реализованы алгебраические методы для сложения, вычитания, умножения, деления и нахождения остатка, реализующие оптимизацию, похожую на опцию "-ffast-math" в компиляторах C/C++. Подобные методы допускают изменение порядка операций, когда это необходимо для оптимизаций, таких как векторизация циклов. Например, при вычислении "a + b + c + d" при использовании обычного сложения компилятор всегда выполнит вычисление в одном порядке "((a + b) + c) + d", а при использовании метода algebraic_add может сгруппировать выражение как "(a + b) + (c + d)" и выполнить "(a + b)" и "(c + d)" параллельно при помощи инструкций SIMD. Ценой применения алгебраических методов является недетерминированность результатов вычисления, которые могут меняться в пределах погрешности.
  • Для всех примитивных целочисленных типов реализован встроенный метод "format_into" для преобразования чисел в строки, который может применяться вместо пакета itoa. В качестве параметра передаётся буфер NumBuffer<Self>, размер которого гарантированно достаточен для записи любого значения используемого типа в десятичном виде. На выходе возвращается отформатированная строка &str, время жизни которой привязано к буферу.
  • Взаимодействие между обвязкой ManuallyDrop и умным указателем Box теперь не приводит к неопределённому поведению.
  • В разряд стабильных переведена новая порция API, в том числе стабилизированы методы и реализации типажей:
  • Целевые платформы thumbv7a-none-eabi, thumbv7a-none-eabihf, thumbv7r-none-eabi, thumbv7r-none-eabihf и thumbv8r-none-eabihf переведены на второй уровень поддержки, который подразумевает гарантию сборки, но отсутствие гарантий при прохождении тестового набора.
  • Добавлена поддержка платформ powerpc64-unknown-linux-gnuelfv2 и aarch64-unknown-linux-pauthtest, для которых обеспечен третий уровень поддержки. Третий уровень охватывает базовую поддержку, но без автоматизированного тестирования, публикации официальных сборок и проверки возможности сборки кода.



Дополнительно можно отметить компрометацию популярного crate-пакета arrayref, насчитывающего более 53 млн загрузок за последние 90 дней и применяемого в качестве зависимости у 403 пакетов. Атакующие разместили в репозитории crates.io новые пакеты proc-macro1, proc-macro-en, aovine, arone, aronenao и tinymember, содержащие вредоносный код. После этого в репозитории были опубликованы новые выпуски пакетов arrayref 0.3.10, internment 0.8.7 и append-only-vec 0.1.9 в которые в качестве зависимости был добавлен вредоносный пакет proc-macro1. Вредоносная версия пакета arrayref была размещена 20 августа в 10:15 (MSK) и просуществовала до 11:41, после чего была удалена администраторами crates.io.

С сопровождающим arrayref пока не удалось связаться для прояснения ситуации, но предполагается, что его учётные данные были перехвачены злоумышленниками. В пакете proc-macro1 вредоносное изменение присутствовало в сборочном скрипте и осуществляло загрузку исполняемого файла с внешнего сервера. Загруженный файл в Unix-системах сохранялся как /tmp/rust-setup, а в Windows - %TEMP%\rust-setup.ps1 или %TEMP%\rust-setup-launch.vbs.

Команда для проверки наличия вредоносных пакетов в осевшем локальном кеше:


   find ~/.cargo/registry/cache -type f \( \
     -name 'append-only-vec-0.1.9.crate' -o \
     -name 'arrayref-0.3.10.crate' -o \
     -name 'internment-0.8.7.crate' -o \
     -name 'proc-macro1-*.crate' -o \
     -name 'proc-macro-en-*.crate' -o \
     -name 'aovine-*.crate' -o \
     -name 'arone-*.crate' -o \
     -name 'aronenao-*.crate' -o \
     -name 'tinymember-*.crate' \
   \) -print

  1. OpenNews: Проект Rust утвердил правила в отношении использования AI-инструментов
  2. OpenNews: Выпуск Rust 1.97. Написанные на Rust ядро Zinnia и P2P-система Iroh с адресацией по ключам
  3. OpenNews: Опубликован crustc - компилятор rustc, переведённый на язык Си
  4. OpenNews: Инциденты с безопасностью в репозиториях PyPI и crates.io
  5. OpenNews: В Rust-репозитории crates.io выявлены четыре вредоносных пакета
Обсуждение (203 +7) | Тип: Программы |
·20.08.2026 Релиз пакетного менеджера RPM 6.1 (6 +9)
  Опубликован релиз пакетного менеджера RPM 6.1, который будет задействован в выпуске дистрибутива Fedora Linux 45. Проект развивается компанией Red Hat и используется в таких дистрибутивах, как RHEL, Fedora, SUSE, openSUSE, ALT Linux, Rosa Linux, OpenMandriva, Mageia, PCLinuxOS и Tizen. Код проекта распространяется под лицензиями GPLv2 и LGPLv2.

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

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

  • Для разделения доступа к хранилищу ключей вместо использования общей блокировки транзакций задействована отдельная блокировка, что решило проблему с остановкой обработки всех запросов к rpmdb во время выполнения транзакций.
  • Возвращено использование по умолчанию системы NSS (Name Service Switch) для поиска пользователей и групп.
  • На системах ядром 5.11+ и библиотекой glibc 2.34+ повышена эффективность закрытия файловых дескрипторов, что в некоторых ситуациях сократило время установки на 26%.
  • Добавлен новый синтаксис модификаторов для макросов (имя_макроса<модификаторы>), изменяющих поведение макросов. Реализованы два модификатора: "l" (literal, отключает обработку символа "%" внутри тела макроса) и "o" (one-shot, выполнение макроса только при первом вызове с последующим использованием прокэшированного значения).
  • В выражение "%define" добавлены опции: "-e" для раскрытия тела макроса только во время определения и "-g" для размещения макроса в глобальном контексте. Комбинация данных опций эквивалентна выражению "%global".
  • Улучшена обработка ошибок, связанных со сборкой и верификацией.
  • Улучшена работа плагина rpm-plugin-syslog с systemd-journal.
  • В утилите rpmsign реализована возможность заверения файлов цифровой подписью с использованием токенов PKCS11.

  1. OpenNews: В Fedora 44 в RPM намерены активировать проверку пакетов по цифровой подписи
  2. OpenNews: Релиз пакетного менеджера RPM 6.0
Обсуждение (6 +9) | Тип: Программы |
·20.08.2026 Опубликован KDE Gear 26.08, набор приложений от проекта KDE (23 +8)
  После четырёх месяцев разработки представлено августовское сводное обновление приложений KDE Gear 26.08, развиваемых проектом KDE. В составе набора опубликованы выпуски более 250 программ, библиотек и плагинов. Информацию о наличии Live-сборок с новыми выпусками приложений можно получить на данной странице. Новые версии отдельных приложений можно загрузить из каталогов Flathub и SnapCraft.

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

  • В файловом менеджере Dolphin улучшена интеграция с KDE Connect для сопряжения смартфона с рабочим столом - при навигации по файлам на смартфоне в панели теперь отображается кнопка "Open KDE Connect", позволяющая перейти в приложение "KDE Connect" для взаимодействия с мобильным устройством.

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

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

    В контекстное меню вкладок добавлены кнопки для удаления вкладки справа или слева от текущей.

  • В просмотрщике документов Okular усовершенствованы возможности для подписания документов; объединены диалоги с настройками приложения и бэкендов; добавлена поддержка выделения разом всей строки тремя кликами; при работе с аннотациями обеспечено автоматическое включение выделенного текста при добавлении примечания; реализована возможность переноса примечаний и комментариев между документами через буфер обмена.

  • В эмулятор терминала Konsole добавлена возможность перемещения мышью файла во внешнее приложение через клик на имени файла в терминале, удерживая клавишу Alt (например, таким способом можно передать файловый путь к изображению в редактор изображений или путь к текстовому файлу в текстовый редактор). Аналогичным способом можно перемещать URL, email-адреса и коды цветов (например, можно перетащить мышью URL из терминала в браузер для открытия страницы).

  • В видеоредакторе Kdenlive в эффектах трансформации реализована возможность свободного перемещения осей вращения в кадре (ранее ось вращения была всегда зафиксирована строго по центру).

    В эффекте "Карта градиента" появилась возможность добавления произвольного числа точек для управления переходом цветов. В эффекте "Кривые" разрешено независимо настраивать каждый цветовой канал.

    Во временной шкале реализована возможность выделения группы клипов для копирования в отдельную вложенную последовательность (sequence). Добавлена функция автоматического создания звуковых дорожек, необходимых для клипа. Реализована возможность менять дорожки местами через их перетаскивание мышью. Добавлена поддержка назначения своих цветов для разных типов объектов на временной шкале.

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

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

  1. OpenNews: Для KDE Plasma 6.6 обеспечено сопровождение в течение 3 лет
  2. OpenNews: Релиз среды рабочего стола KDE Plasma 6.7
  3. OpenNews: Опубликован KDE Gear 26.04, набор приложений от проекта KDE
Обсуждение (23 +8) | Тип: Программы |
·20.08.2026 Компания Canonical представила проект по разработке транслятора с Си на Rust (255 –7)
  Компания Canonical анонсировала проект, развиваемый совместной с Бристольским университетом и нацеленный на разработку инструментария для автоматической трансляции кода с языка Си на Rust. Проект ориентирован на перевод больших репозиториев, содержащих сотни тысяч строк кода на Си, в безопасное (без unsafe-операций) и легко сопровождаемое представление на языке Rust. Canonical профинансирует работу исследователей над проектом в течение 3 лет. Развиваемая технология будет опробована для перевода на Rust пакетов AppArmor и snap-confine, чтобы проверить применимость метода к реальным системным компонентам.

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

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

Создание нового проекта объясняется тем, что ручное переписывание с Си на Rust требует больших трудозатрат и приводит к потере накопленных исправлений и оптимизаций, традиционные трансляторы создают неидиоматичный и небезопасный Rust-код, а AI-модели плохо масштабируются на крупные репозитории и не гарантируют сохранение поведения программы.

  1. OpenNews: Прогресс в разработке транслятора из Rust в код на Cи и .NET IR
  2. OpenNews: DARPA развивает AI-транслятор для переписывания Си-кода на Rust
  3. OpenNews: NVIDIA опубликовала CUDA-oxide, компилятор из Rust в CUDA
  4. OpenNews: Опубликован crustc - компилятор rustc, переведённый на язык Си
Обсуждение (255 –7) | Тип: К сведению |
·19.08.2026 Выпуск языка программирования Go 1.27 (113 +22)
  После шести месяцев разработки представлен релиз языка программирования Go 1.27, развиваемого компанией Google при участии сообщества. Язык сочетает высокую производительность, свойственную компилируемым языкам, с такими достоинствами скриптовых языков, как простота написания кода, высокая скорость разработки и защита от ошибок. Код проекта распространяется под лицензией BSD.

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

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

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

  • Реализована поддержка обобщённых (generic) методов, позволяющих объявлять собственные параметры типов и добавлять обобщённые функции непосредственно в пространство имён конкретного типа данных, без объявления на уровне всего пакета. Например, вместо раздельного объявления методов для каждого типа теперь можно использовать один обобщённый метод для всех типов:
    
       // Было
       func (r *Rand) Int32N(n int32) int32
       func (r *Rand) Int64N(n int64) int64
       func (r *Rand) IntN(n int) int
    
       // Стало
       func (r *Rand) N[Int intType](n Int) Int
    
  • При инициализации структур в качестве ключа разрешено использовать любой допустимый селектор полей, что позволяет напрямую инициализировать поля вложенных или встроенных структур:
    
       type Habitat struct {
           Burrow string
       }
    
       type Gopher struct {
           Name    string
           Habitat // встроенная структура
       }
    
       g := Gopher{
           Name:   "Gopher",
           Burrow: "Burrow #42",
       }
    
  • Расширен механизм автоматического вывода типов для функций, который теперь применяется во всех контекстах присвоения переменной, что позволяет использовать обобщённые (generic) функции без явного указания типов аргументов.
    
       func GenericFormatter[T any](v T) string {
           return fmt.Sprintf("value: %v", v)
       }
    
       type IntFormatter func(int) string
    
       formatters := []IntFormatter{GenericFormatter}
       fn := IntFormatter(GenericFormatter)
       ch := make(chan IntFormatter, 1)
       ch <- GenericFormatter
    
  • В команду "go fix" добавлены новые модернизаторы кода: atomictypes, embedlit, slicesbackward и unsafefuncs для переписывания устаревших конструкций atomic, упрощения объявления встроенных структур, использования slices.Backward при переборе срезов, и замене конструкций с unsafe.Pointer на более безопасные варианты.
  • В команде "go doc" реализована поддержка запросов "package@version", например, "go doc example.com/pkg@v1.2.3".
  • Повышена эффективность выделения памяти для мелких объектов, размером менее 80 байт. В приложениях, интенсивно создающих мелкие объекты оптимизация приводит к повышению производительности примерно на 1%.
  • В пакет runtime/pprof добавлен профиль goroutineleak для автоматического определения постоянно заблокированных сопрограмм (goroutine).
  • Добавлен пакет encoding/json/v2 с новой реализацией функций для обработки данных в формате JSON.
  • Добавлен пакет crypto/mldsa с реализацией постквантового алгоритма формирования цифровых подписей ML-DSA (FIPS 204).
  • Добавлен пакет uuid для генерации и разбора UUID-идентификаторов.
  • Добавлены пакеты simd и simd/archsimd с экспериментальной поддержкой распараллеливания выполнения операций над данными c использованием процессорных инструкций SIMD (Single Instruction, Multiple Data).

  1. OpenNews: Выпуск языка программирования Go 1.26
  2. OpenNews: Выпуск Tinygo 0.40, компилятора для языка Go
  3. OpenNews: Оценка потребления памяти при одновременном запуске миллиона задач
  4. OpenNews: Лидер проекта Go принял решение покинуть пост
Обсуждение (113 +22) | Тип: Программы |
·18.08.2026 Открыт код компилятора для языка программирования Mojo (87 +18)
  Разработчики языка программирования Mojo открыли исходный код компилятора и сопутствующего инструментария, необходимого для сборки проектов на языке Mojo. Код компилятора написан на языке C++ и открыт под лицензией Apache 2.0 c исключениями от проекта LLVM, допускающими смешивание с кодом под лицензией GPLv2. Ранее в открытом доступе находился только код стандартной библиотеки, а код компилятора обещали открыть после стабилизации внутренней архитектуры, что было достигнуто в опубликованном на прошлой неделе релизе Mojo 1.0. Изменения от сторонних участников в кодовую базу компилятора пока не принимаются, но возможность передачи изменений планируют реализовать до конца года.

Язык Mojo развивается под руководством Криса Латнера (Chris Lattner), основателя и главного архитектора проекта LLVM и создателя языка программирования Swift. Синтаксис Mojo основан на языке Python, а система типов близка к C/C++. Проект преподносится как язык общего назначения, расширяющий возможности языка Python средствами системного программирования, подходящий для широкого круга задач и сочетающий простоту применения для исследовательских разработок и быстрого создания прототипов с пригодностью для формирования высокопроизводительных конечных продуктов.

Простота достигается благодаря использованию привычного синтаксиса языка Python, а разработке конечных продуктов способствуют возможность компиляции в машинный код, механизмы безопасной работы с памятью и задействование средств для аппаратного ускорения вычислений. Для достижения высокой производительности поддерживается распараллеливание вычислений с задействованием всех имеющихся в системе аппаратных ресурсов гетерогенных систем, таких как GPU, специализированные ускорители для машинного обучения и векторные процессорные инструкции (SIMD). При интенсивных вычислениях распараллеливание и задействование всех вычислительных ресурсов даёт возможность добиться производительности, превосходящей приложения на C/C++.

Язык поддерживает статическую типизацию и средства для безопасной низкоуровневой работы с памятью, напоминающие возможности языка Rust, такие как отслеживание времени жизни ссылок и проверка заимствования переменных (borrow checker). При этом в языке доступны и возможности для низкоуровневой работы, например, возможно прямое обращение к памяти в режиме unsafe с использованием типа Pointer, вызов отдельных SIMD-инструкций или доступ к аппаратным расширениям, таким как TensorCores и AMX.

Mojo может использоваться как в режиме интерпретации с использованием JIT, так и для компиляции в исполняемые файлы (AOT, ahead-of-time). В компилятор встроены современные технологии автоматической оптимизации, кэширования и распределённой компиляции. Исходный код на языке Mojo преобразуются в низкоуровневый промежуточный код MLIR (Multi-Level Intermediate Representation), развиваемый проектом LLVM. Компилятор позволяет применять для генерации машинного кода различные бэкенды, поддерживающие MLIR.

Дополнение: В конце июля была завершена сделка по покупке компании Modular, разрабатывающей проект Mojo, корпорацией Qualcomm. Также было объявлено об интеграции поддержки AI-ускорителей Qualcomm в платформу Modular. Код, написанный на языке Mojo и фреймворке MAX, теперь может работать не только на GPU NVIDIA и AMD, но и на AI-ускорителях Qualcomm.

  1. OpenNews: Релиз языка программирования Mojo 1.0
  2. OpenNews: Сотрудник Google развивает язык программирования Carbon, нацеленный на замену C++
  3. OpenNews: Создатель LLVM развивает новый язык программирования Mojo
  4. OpenNews: Открытие стандартной библиотеки языка Mojo. Обновление инструментария Mojo 24.2
Обсуждение (87 +18) | Тип: К сведению |
·18.08.2026 Релиз Firefox 154 (81 +37)
  Состоялся релиз web-браузера Firefox 154 и сформированы обновления прошлых веток с длительным сроком поддержки - 153.1.0, 140.14.0 и 115.39.0. На стадию бета-тестирования в ближайшее время будет переведена ветка Firefox 155, релиз которой намечен на 1 сентября.

Основные новшества в Firefox 154 (1, 2, 3):

  • Применение спецификации LNA (Local Network Access) расширено на WebSocket-соединения. LNA ограничивает обращение к локальной системе (loopback, 127.0.0.0/8) или внутренней сети (192.168.0.0/16, 10.0.0.0/8 и т.п.) при взаимодействии с публичными сайтами. Для обращения к внутренним ресурсам пользователь должен предоставить web-приложению специальные полномочия, так как подобная активность используются злоумышленниками для осуществления CSRF-атак на маршрутизаторы, точки доступа, принтеры, корпоративные web-интерфейсы и другие устройства и сервисы, принимающие запросы только из локальной сети. Открытие сайтом WebSocket-соединения к устройству в локальной сети теперь приведёт к показу пользователю диалога подтверждения операции.
  • В режим "Smart Window" добавлена возможность использования AI для рекомендации группировки вкладок и назначения имени каждой группе. Smart Window предоставляет отдельное пространство взаимодействия с AI, дополняющее имеющийся стандартный режим навигации в Web и режим приватного просмотра.
  • Предоставлена возможность отмены для отдельных сайтов операций очистки Cookie и данных сайтов при завершении работы, сохранив при этом для этих сайтов защиту от отслеживания и ограничения, связанные с Cookie.
  • Функция перевода содержимого всей странницы теперь охватывает и содержимое iframe-блоков, интегрированных в страницу. Обеспечена идентификация языка на этапе загрузки страницы.
  • В адресную строку добавлено действие "Manage AI" для быстрого перехода к разделу настройки параметров AI в конфигураторе
  • При принудительной перезагрузке страницы (нажатие на кнопку "обновить" с удержанием клавиши Shift) теперь дополнительно очищается содержимое кэша favicon-миниатюр.
  • Значительно ускорена операции смены позиции в потоке при просмотре видео.
  • Во встроенном PDF-просмотрщике реализована подсветка выделяемого текста по аналогии с тем как выделяется текст на web-страницах.
  • По умолчанию при создании новых профилей и обращении к давно не используемым профилям прекращено размещение кнопки "Firefox View" в панели. Кнопку можно вернуть через интерфейс кастомизации панели.
  • Добавлены CSS-свойства "text-box-trim" и "text-box-edge", позволяющие точно управлять отступами до и после текста. Свойство "text-box-trim" определяет область обрезки (верх, низ или с обоих сторон), а "text-box-edge" задаёт способ обрезки краёв.
  • Добавлены CSS-функции sibling-index() и sibling-count() для стилизации элементов на основе позиции или числа соседних элементов.
  • Реализован интерфейс для ввода времени, показываемый при использовании элементов <input type="time"> и <input type="datetime-local">.
  • Реализован HTTP-заголовок No-Vary-Search, через который можно настроит правила кэширования запросов с учётом передаваемых в URL параметров (например, можно исключить неважные параметры при определении наличия прокэшированного варианта страницы).
  • В JavaScript-интерфейс Iterator добавлена поддержка синхронно выполняемых методов Iterator.prototype.chunks (разбивает элементы итератора на последовательные непересекающиеся группы), Iterator.prototype.windows (перебор элементов итератора методом cкользящего окна, Iterator.prototype.includes (проверка наличия в итераторе определённого элемента) и Iterator.prototype.join (объединяет все элементы итератора в одну строку).
  • В просмотрщике данных в формате JSON Viewer в нижней части экрана теперь показывается полный путь до выбранного элемента.
  • В Firefox для Android обновлены пиктограммы, предоставлена возможность выбора имени файла и каталога для сохранения загружаемого файла, обеспечено автоматическое сохранение адресов в полях ввода, ускорен поиск закладок и предоставлена секция Firefox Labs для тестирования экспериментальных возможностей.

Кроме новшеств и исправления ошибок в Firefox 154 устранено 167 уязвимостей, большинство из которых вызваны проблемами при работе с памятью, такими как переполнения буферов и обращение к уже освобождённым областям памяти. Потенциально данные проблемы способны привести к выполнению кода злоумышленника при открытии специально оформленных страниц.

  1. OpenNews: Релиз Firefox 153
  2. OpenNews: В ночных сборках доступен для тестирования новый интерфейс Firefox
  3. OpenNews: Сотрудники Mozilla случайно разместили на GitHub закрытый GPG-ключ Firefox и Thunderbird
  4. OpenNews: Firefox переходит на двухнедельный цикл подготовки релизов
Обсуждение (81 +37) | Тип: Программы |
·17.08.2026 Возобновлена разработка планировщика задач MuQSS и набора патчей "-ck" для ядра Linux (46 +33)
  Кон Коливас (Con Kolivas) возобновил работу над планировщиком задач MuQSS (Multiple Queue Skiplist Scheduler) и набором патчей "-ck" для ядра Linux, нацеленных на повышение отзывчивости и интерактивности при выполнении пользовательских задач и игр. Разработка данных проектов была прекращена в 2021 году из-за потери мотивации и нехватки времени. Теперь Кон вернулся к прежней деятельности и выпустил набор патчей ck и планировщик MuQSS для ядра Linux 7.2. Отмечается, что вопрос нехватки времени удалось решить благодаря применению AI-инструментов, которые упростили разработку и адаптацию изменений к новому ядру.

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

Патчи "-ck" включают планировщик задач MuQSS, продолжающий развитие проекта BFS, и различные изменения, влияющие на работу системы управления памятью, обработку приоритетов, генерацию прерываний таймера и настройки ядра. Ключевой задачей патчей является повышение отзывчивости приложений на рабочем столе. Так как предлагаемые изменения могут негативно влиять на производительность серверных систем, компьютеров с большим числом ядер CPU и на работу в условиях одновременного выполнения большого числа процессов, многие изменения Кона Коливаса отказались принимать в основной состав ядра и ему приходится поддерживать их в форме отдельного набора патчей, адаптируемого к каждому новому выпуску ядра.

  1. OpenNews: Прекращение разработки планировщика задач MuQSS и набора патчей "-ck" для ядра Linux
  2. OpenNews: Автор BFS представил новый планировщик задач MuQSS для ядра Linux
  3. OpenNews: Представлен новый вариант планировщика задач BFS
  4. OpenNews: К чему приведет зависимость процесса разработки ядра Linux от одного человека
  5. OpenNews: Con Kolivas прекращает поддержку "-ck" ветки Linux ядра
Обсуждение (46 +33) | Тип: К сведению |
·17.08.2026 Релиз ядра Linux 7.2 (154 +43)
  После двух месяцев разработки Линус Торвальдс представил релиз ядра Linux 7.2. Среди наиболее заметных изменений: механизм потоковой передачи данных USB4STREAM, оптимизации производительности btrfs, xfs и ext4, продолжение удаления кода для поддержки CPU i486, возможность создания вложенных планировщиков SCHED_EXT, снижено потребление памяти в подсистеме подкачки, ускорены неименованные каналы, поддержка расширений Intel MBEC и AMD GMET в KVM, удаление протокола AppleTalk, начальная поддержка HDMI 2.1 FRL в драйвере AMDGPU.

В новую версию принято 17833 исправлений от 2766 разработчиков, размер патча - 68 МБ (изменения затронули 16431 файлов, добавлено 897477 строк кода, удалено 302345 строк). В прошлом выпуске было 17275 исправлений от 2589 разработчиков, размер патча - 57 МБ. Около 49% всех представленных в 7.2 изменений связаны с драйверами устройств, примерно 10% изменений имеют отношение к обновлению кода, специфичного для аппаратных архитектур, 12% связано с сетевым стеком, 4% - с файловыми системами и 2% c внутренними подсистемами ядра.

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

  • Дисковая подсистема, ввод/вывод и файловые системы
    • В механизме iomap убран лишний вызов функции memset для уже завершённых итераций в функции iomap_iter(), что при высокой интенсивности ввод/вывода на быстрых накопителях NVMe повысило в проведённых тестах число операций ввод/вывода в секунду (IOPS) на 5% при использовании ФС ext4 и xfs.
    • В XFS объявлена стабильной поддержка зонированных устройств хранения (разделение на зоны групп блоков или секторов, в которые допускается лишь последовательное добавление данных с обновлением целиком всей группы блоков).
    • В Btrfs включена по умолчанию поддержка больших фолиантов страниц памяти (large folios), позволяющая снизить накладные расходы и повысить производительность при интенсивном последовательном вводе/выводе. Добавлена экспериментальная поддержка огромных фолиантов ("huge folios"), размером до 2 МБ. Добавлен новый ioctl GET_CSUMS для получения информации о контрольных суммах в пользовательском пространстве, например, для утилиты mkfs и оптимизации дедупликации. Повышена производительность последовательной записи данных на 15% и прямого ввода/вывода на 59%.
    • В ФС Ext4 значительно переработана реализация механизма "fast commit" для исключения возникновения конкурирующих и взаимных блокировок. Добавлен экспорт статистики о снапшотах inode через /proc/fs/ext4/*/fc_info. Оптимизирована производительность вычисления хэшей директорий (для имён размером 255 символов ускорение почти в два раза, 64 символа 27%, 32 символа - 11%).
    • В F2FS добавлена поддержка возвращения ошибок fserror, позволяющих из пользовательского пространства отслеживать проблемы с ФС. Сокращено время проводимое в контексте обработки прерываний.
    • В Device Mapper (DM) добавлен новый обработчик dm-inlinecrypt для организации прозрачного шифрования и расшифровки блочных устройств, используя аппаратные устройства с функцией inline-шифрования.
    • Предложена документация по добавлению в ядро новых файловых систем.
    • В NFS размер блока по умолчанию увеличен до 4 МБ на системах, имеющих как минимум 16 ГБ ОЗУ (для ручного изменения размера блока можно использовать /proc/fs/nfsd/max_block_size). Добавлена поддержка делегирования управления директорией клиенту (directory delegation), что позволяет определённое время выполнять операции с данной директорией без проверки изменения состояния на сервере.
    • В сервере SMB добавлена поддержка файлов, хранимых в сжатом виде, а также сжатия данных при их передаче по сети.
    • В новой реализации NTFS (ntfsplus) добавлена поддержка символических ссылок Windows с относительными путями и обеспечена корректная обработка многих видов повреждений метаданных.
    • Удалён бэкенд fscache для кэширования данных ФС EROFS (Enhanced Read-Only File System), который был объявлен устаревшим два года назад.
    • В ФС Ceph добавлена поддержка ручного сброса клиентских сеансов.
    • В файловую систему 9P внесены оптимизации, ускорившие работу в таких сценариях, как сборка проектов.
    • В системный вызов file_getattr() добавлены флаги для получения информации об учёте регистра символов в файловой системе. Флаг FS_XFLAG_CASEFOLD свидетельствует, что проверка имён файлов осуществляется без учёта регистра символов, а флаг FS_XFLAG_CASENONPRESERVING о том, что при создании новых имён файлов не сохраняется информация регистре символов. Указанные флаги могут применяться в NFS-клиентах, работающих без учёта регистра символов.
    • В системный вызов openat2() добавлен флаг O_EMPTYPATH, допускающий передачу пустого файлового пути. В этом случае путь к открываемому файлу определяется на основании переданного файлового дескриптора.
    • В системный вызов openat2() добавлен флаг OPENAT2_REGULAR, допускающий открытие только обычных файлов (при попытке открытия специального файла, например, сокета, канала или устройства, будет возвращена ошибка EFTYPE).
  • Память и системные сервисы
    • Реализован механизм USB4STREAM для потоковой передачи данных между компьютерами, соединёнными кабелем через порты USB4. Добавлено устройство /dev/tbstreamX, при помощи которого можно читать и записывать данные, используя штатные функции read() и write() по аналогии с чтением и записью в файлы. Например, на одном хосте можно отправить информацию командой "echo hello > /dev/tbstream0", а на другом прочитать командой "cat /dev/tbstream0". Механизм USB4STREAM может совмещаться с возможностью установки сетевого соединения по кабелю USB4 (thunderbolt_net) или использоваться отдельно при необходимости передачи данных между приложениями, не поддерживающими сетевые сокеты.
    • Включена вторая серия изменений для прекращения поддержки процессоров i486. Удалено более 13 строк кода, связанных с эмуляцией блока для вычислений с плавающей запятой для процессоров без FPU. Удалена поддержка процессоров i486 без аппаратных операций CX8 (сравнить и обменять 8 байт) и TSC (счётчик циклов CPU, используемый в планировщике задач), код для эмуляции которых удалён.
    • Объявлена оставшейся без сопровождения (orphaned) поддержка процессоров AMD Geode, применяемых в компьютере OLPC XO-1.
    • Добавлена поддержка обновления реализации механизма Intel TDX (Trusted Domain Extensions), применяемого для шифрования оперативной памяти гостевых систем. TDX реализован в форме специального программного runtime-модуля, который во время начальной загрузки переносится BIOS из Flash-памяти в оперативную память. В ядро добавлены возможности для управления этим модулем и замены на более новую версию на работающей системе без необходимости выполнения перезагрузки.
    • Реализован новый планировщик распределения ресурсов GPU (Fair GPU scheduler), применяемый для определения порядка выполнения на GPU работ, отправляемых процессами, использующими GPU. Вместо применения традиционной FIDO-очереди запросов к GPU в новом планировщике задействованы механизмы справедливого распределения ресурсов, реализованные с оглядкой на планировщик задач CFS (Completely Fair Scheduler) применяющий план запуска с временем перехода к выполнению очередного процесса. Наиболее заметный эффект от использования нового планировщика наблюдается при параллельном выполнении интерактивных задач, активно работающих с GPU. В последний момент перед релизом ядра 7.2 включение Fair GPU scheduler было отменено и был возвращён старый FIFO-планировщик из-за необходимости отладки регресии, приводящей к снижению производительности и 100% нагрузке на GPU при запуске отдельных игр в Proton.
    • Изменения в подсистеме eBPF: Добавлена возможность прикрепления одной BPF-программы нескольким точкам трассировки (tracepoint). В BPF-программы, привязанные к точкам трассировки, добавлена возможность доступа к памяти компонентов, работающих в пользовательском пространстве, с корректной обработкой обращения к невыделенным страницам памяти (page fault). В системный вызов bpf() добавлена поддержка типовых атрибутов (log_buf, log_size, log_level и log_true_size), которая позволяет унифицировать передачу метаданных во всех командах BPF, не ограничиваясь командами BPF_PROG_LOAD, BPF_BTF_LOAD и BPF_MAP_CREATE. Убрано ограничение на передачу не более 5 параметров в функции BPF. Добавлена возможность безопасного доступа к разделяемой памяти bpf_arena без опасения обращения к невыделенным страницам памяти (page fault). Реализован новый вариант структуры BPF hash map, допускающий динамическое изменение размера.
    • Оптимизировано формирование вывода "/proc/interrupts" со статистикой прерываний, а также модернизированы структуры для хранения счётчиков прерываний и добавлено кэширование.
    • Ускорена генерация файла "/proc/filesystems", используемого в libselinux.
    • В планировщике задач реализована поддержка балансировки нагрузки между ядрами CPU, учитывающей состояния внутреннего кэша процессора. Планировщик теперь пытается группировать процессы, использующие общие ресурсы, например, потоки одного процесса, для их использования в контексте одного и того же кэша верхнего уровня, что повышает эффективность обращения к данным за счёт повышения вероятности нахождения в кэше необходимых данных.
    • В механизме SCHED_EXT, позволяющем использовать BPF для создания планировщиков CPU, продолжена реализация возможности для создания вложенных планировщиков (sub-scheduler), при помощи которых для каждого cgroup можно задействовать собственный планировщик задач.
    • Продолжен перенос изменений из ветки Rust-for-Linux, связанных с использованием языка Rust в качестве второго языка для разработки драйверов и модулей ядра (поддержка Rust не активна по умолчанию, и не приводит ко включению Rust в число обязательных сборочных зависимостей к ядру). Возможность использования Rust в ядре реализована для архитектуры s390. В состав включён пакет "zerocopy" с быстрыми примитивами работы с памятью для кода в режиме "unsafe".
    • Минимальная версия инструментария LLVM, необходимая для сборки ядра, повышена до 17.0.1.
    • В минималистичной Си-библиотеке nolibc, поставляемой в составе исходных текстов ядра Linux и предоставляющей обвязку над базовыми системными вызовами, реализована поддержка архитектур OpenRISC и 32-bit PA-RISC.
    • В подсистему подкачки (swap) внесены оптимизации, повышающие производительность и снижающие потребление памяти в самой подсистеме за счёт исключения накладных расходов при хранении статических метаданных и унификации работы с анонимной и разделяемой памятью при использовании фолиантов. Снижение потребления памяти достаточно существенно, например, при монтировании раздела подкачки размером 1 ТБ наблюдается снижение потребления памяти примерно на 512 МБ.
    • Повышена эффективность механизма вытеснения памяти, удаляющего или переносящего в раздел подкачки области памяти для высвобождения памяти при её нехватке в системе. В некоторых видах нагрузки, например, при тестировании MongoDB при помощи YCSB (Yahoo! Cloud Serving Benchmark), наблюдается прирост производительности до 30%.
    • В сборочную систему добавлена команда "make sbom" для генерации списков SBOM (Software Bill Of Materials), отражающих задействованные в текущей сборке ядра компоненты, библиотеки и зависимости, а также информацию об их лицензиях, полученную из заголовков SPDX в файлах с кодом.
    • В реализации неименованных каналов (pipe) проведена оптимизация работы с блокировками (операции выделения памяти вынесены за область действия блокировки), что на 21-48% повысило пропускную способность неименованных каналов и на 17-33% снизило задержки.
  • Виртуализация и безопасность
    • В механизм распределения памяти slab (slab allocator) добавлена возможность использования токенов выделения памяти (Allocation Token), реализованных в компиляторе Clang 22. Токены позволяют маркировать уникальными идентификаторами операции выделения памяти и организовать раздельное размещение различных типов объектов для усложнения эксплуатации уязвимостей, вызванных переполнением буфера (при разделении переполнение буфера в одном типе объектов не так просто использовать для повреждения других типов объектов).
    • Механизм AF_ALG, эксплуатируемый в уязвимости Copy Fail для модификации данных в страничном кэше, объявлен устаревшим и намечен для удаления в одном из будущих выпусков. AF_ALG позволяет задействовать аппаратные ускорители для криптографических вычислений в Crypto API ядра, но применяется в достаточно специфичных ситуациях. В ядре 7.2 в AF_ALG удалена поддержка асинхронного ввода/вывода, старых драйверов и механизма zero-copy в реализации skcipher и aead. Оставлены только программные реализации криптоалгоритмов, а поддержка аппаратных криптоускорителей в crypto API ядра удалена, так как AF_ALG существенно расширяет поверхность атаки, но не даёт выигрыша в производительности, по сравнению в реализацией криптографии в пользовательском пространстве. AF_ALG использовался в инструментарии Cryptsetup, но его поддержка была удалена в недавнем выпуске 2.8.7.
    • В механизм IMA (Integrity Measurement Architecture), позволяющий внешнему сервису верифицировать состояние подсистем ядра для того чтобы убедиться в их подлинности, добавлена поддержка экспорта внутренних таблиц с результатами измерений в пользовательское пространство с удалением из буферов ядра для экономии памяти.
    • В модуль Landlock, предоставляющий непривилегированным программам средства для ограничения использования объектов ядра Linux (иерархии файлов, сетевые сокеты, ioctl и т.п), добавлена поддержка управления доступом к UDP-сокетам, а также возможность выборочного отключения вывода в лог сведений о блокировке объектов для предотвращения захламления лога несущественной информацией.
    • Ядро избавлено от использования функции strncpy(), копирующей заданное число байт из входящей строки. Применение strncpy() создавало опасность возникновения ошибок из-за пропуска нулевого символа в конце строки или добавочного заполнения нулями. Вместо strncpy() рекомендовано использовать функции strscpy() и strscpy_pad() для копирования строк, завершающихся нулевым символом, а также strtomem_pad(), memcpy_and_pad() и memcpy() для копирования строк известного фиксированного размера. Работа по избавлению ядра от использования strncpy() была начата в 2020 году и потребовала принятия 362 изменений от 70 разработчиков.
    • В гипервизор KVM добавлена поддержка расширений Intel MBEC (Mode-Based Execution Control) и AMD GMET (Guest-Mode Execution Trap), позволяющих в таблицах трансляции памяти раздельно обрабатывать права на выполнение кода для ядра и пространства пользователя в гостевых системах. Ранее расширения аппаратной виртуализации Intel и AMD позволяли пометить страницы памяти доступными для исполнения только одним битом с программным разделением прав для ядра и пространства пользователя на уровне гипервизора. Использование MBEC и GMET даёт возможность исключить проверки полномочий на стороне гипервизора и значительно сократить интенсивность ресурсоёмкой передачи управления от гостевой системы к гипервизору VMexit.
  • Сетевая подсистема
    • Реализация расширения TCP-AO (TCP Authentication Option, RFC 5925) переведена на использование новой криптографической библиотеки libcrypto, что позволило упростить код и повысить эффективность работы. TCP-AO даёт возможность верифицировать TCP-заголовки по MAC-кодам (Message Authentication Code), используя более современные алгоритмы HMAC-SHA-1-96 и AES-128-CMAC-96 вместо ранее доступной опции TCP-MD5 на базе устаревшего алгоритма MD5.
    • Число субпотоков, поддерживаемых для соединений Multipath TCP (MPTCP), увеличено с 8 до 64.
    • Продолжена работа по сокращению использования в сетевом стеке ядра глобальной блокировки rtnl_lock.
    • Из ядра удалена реализация стека протоколов AppleTalk, который использовался в компьютерах Apple с 1985 года и в 1990-е годы был заменён на TCP/IP. Помимо этого удалены компоненты технологии передач данных ATM, не связанные с PPPoATM, а также cетевые интерфейсы ARCnet на базе шин ISA и PCMCIA, Bluetooth-адаптеры с интерфейсом PCMCIA, TLS-ускорители Chelsea, код для интеграции TLS с sockmap и поддержка диапазонов частот 5/10 MHz в беспроводном стеке cfg80211/mac80211. Из-за наличия нерешаемых проблем с блокировками и отсутствия сопровождающих удалена специфичная реализация ускорения обработки TLS на базе TCP Offload Engine (более распространённая реализация TLS offload сохранена). Отключён и запланирован для удаления код совместимости с 32-разрядными x_tables на 64-разрядных системах.
    • В драйвер pppoe добавлена поддержка механизмов GRO (Generic Receive Offload) и GSO (Generic Segmentation Offload) для аппаратного ускорения пересборки и сегментации пакетов. Использование GRO и GSO позволяет существенно повысить пропускную способность для входящего трафика, например, на устройствах MediaTek MT7621 в конфигурации с транслятором адресов максимальная пропускная способность повысилась с 130 Mbit/s до 630 Mbit/s.
  • Оборудование
    • В драйвере AMDGPU появилась начальная поддержка технологии HDMI 2.1 FRL (Fixed Rate Link), позволяющей передавать несжатые видео с качеством 4K/120Hz и 8K/60Hz. Ранее поддержку HDMI 2.1 долгое время не удавалась реализовать в открытых драйверах из-за лицензионных требований HDMI Forum, но сейчас компании AMD удалось согласовать подобную реализацию.
    • В драйвер i915 добавлена поддержка настройки отображения дисплейным контроллером фонового цвета. Реализован параметр pin_params.needs_low_address.
    • Продолжена работа над drm-драйвером (Direct Rendering Manager) Xe для GPU на базе архитектуры Intel Xe, которая используется в видеокартах Intel семейства Arc и интегрированной графике, начиная с процессоров Tiger Lake. Добавлена начальная поддержка платформы CRI (Crescent Island). Для dGPU-платформ Xe3p реализован системный контроллер.
    • В драйвере Nouveau решены проблемы с GPU NVIDIA GA100.
    • В драйвер v3d добавлена возможность управления энергопотреблением v3D GPU на платах Raspberry Pi.
    • Продолжена интеграция компонентов драйвера Nova для GPU NVIDIA, оснащённых GSP-прошивками, используемыми начиная с серии NVIDIA GeForce RTX 2000 на базе микроархитектуры Turing. Драйвер написан на языке Rust. Добавлена поддержка GPU NVIDIA GA100 и серий Hopper и Blackwell.
    • Добавлена поддержка ARM-плат, SoC и устройств: Apple t8122 (M3), Motorola Edge 30, Nothing Phone 3a, Google Pixel 3a XL, Qualcomm Dragonwing IPQ9650, Huawei Hawi, ZTE zx297520v3, Renesas R-Car M3Le, ASPEED AST27xx, Cortina Gemini, NXP i.MX6/8/9, NXP LX2160A, TI K3 AM62x.

Одновременно латиноамериканский Фонд свободного ПО сформировал вариант полностью свободного ядра 7.2 - Linux-libre 7.2-gnu, очищенного от элементов прошивок и драйверов, содержащих несвободные компоненты или участки кода, область применения которых ограничена производителем. В выпуске 7.2 проведена чистка от блобов новых драйверов rt722-sdca и tac5xx2. Обновлён код чистки в драйверах amdgpu, nova core, qcom iris, q6v5, iwlwifi, amdxnda, adreno, r8152 и mt792x. Проведена корректировка интерфейсов для загрузки прошивок. Выполнена чистка имён blob-ов в dts-файлах (devicetree) для ARM-чипов.

  1. OpenNews: Релиз ядра Linux 7.1
  2. OpenNews: Релиз ядра Linux 7.0
  3. OpenNews: Релиз ядра Linux 6.19
  4. OpenNews: Релиз ядра Linux 6.18
  5. OpenNews: Релиз ядра Linux 6.17
Обсуждение (154 +43) | Тип: Программы | Интересно
·16.08.2026 Началось голосование о допустимости использования AI при разработке Debian (160 +18)
  Объявлено о начале общего голосования (GR, general resolution) разработчиков по вопросу использования больших языковых моделей и AI-инструментов при разработке дистрибутива. Приём голосов будет осуществляться до 28 августа. Право голоса имеют около тысячи разработчиков, участвующих в сопровождении пакетов и поддержании инфраструктуры Debian.

В процессе обсуждения изначально предложенных для голосования двух вариантов, финальный список был расширен до 8 пунктов:

  • Запретить любое использование AI-инструментов при работе над пакетами, разрабатываемыми в Debian проектами, web-ресурсами, переводами, документацией и сообщениями в официальной переписке. Запрет не распространяется на использующие AI upstream-проекты, поставку связанных с AI пакетов и принятие патчей, созданных в upstream-проектах при помощи AI.
  • Разрешить AI при обязательном соблюдении некоторых условий, таких как явное информирование об использовании AI, принятие полной ответственности участников за созданный через AI вклад, применение AI-инструментов с не накладывающими ограничения условиями использования.
  • Отказ от AI насколько это возможно из-за этических, экологических и социальных проблем. Сообщения об ошибках и письма в списках рассылках должны писаться только людьми. Любое применение AI в процессе работы должно раскрываться. Сопровождающие на своё усмотрение имеют право запретить применение AI для подготовки патчей в подсистемах за которые они отвечают. Нарушение правил применения AI приравнивается к нарушению кодекса поведения.
  • Допустимость применения AI при выполнении работ, специфичных для Debian, при обязательной пометке использования AI, взятии на себя полной ответственности за код, понимания сути изменения и запрете обрабатывать конфиденциальные данные в облачных AI-сервисах.
  • Ответственное использование генеративного AI - применение AI не одобряется, но и не запрещается, а к созданному через AI коду применяются те же стандарты качества и лицензионные требования, что и коду написанному вручную. Раскрытие использования AI поощряется, но не является обязательным. Запрещено применение сторонних AI-сервисов для работы с использование закрытых ключей или разбора ещё публично не обнародованных уязвимостей.
  • Осторожное использование AI с признанием имеющихся рисков и рекомендацией по возможности избегать применения AI в ситуациях, в которых без него можно обойтись. Использование уже существующих стандартов качества и несение ответственности за код передавшими его разработчиками. Сопровождающим даны полномочия на своё усмотрение отклонять изменения, созданные через AI. Рекомендация раскрывать информацию об использовании AI. Запрет обрабатывать конфиденциальные данные в облачных AI-сервисах.
  • Запрет на использование результатов работы AI в передаваемых патчах, отчётах об ошибках и документации. Допустимость применения AI как вспомогательного инструмента для анализа кода и проведении исследований, если финальный результат создан человеком и соответствует правилам проекта.
  • Осуждение применения AI без строго запрета из-за его негативного влияния на экологию. Поощрение отказа от AI-инструментов в пользу ручной работы. Добровольное раскрытие фактов использования AI.

  1. OpenNews: Проект Debian проводит общее голосование о допустимости применения AI при разработке
  2. OpenNews: Проблемы с удалением "protestware" из Debian-пакета xsnow
  3. OpenNews: В Debian утверждена обязательная поддержка воспроизводимых сборок пакетов
Обсуждение (160 +18) | Тип: К сведению |
·15.08.2026 Выпуск дистрибутива Omarchy 4.0, развиваемого создателем Ruby on Rails (83 +3)
  Опубликован релиз дистрибутива Omarchy 4.0. Проект развивает Давид Хейнемейер Ханссон (David Heinemeier Hansson), автор веб-фреймворка Ruby on Rails, пытающийся сформировать идеальное для себя Linux-окружение в соответствии с принципом "Omakase Computing", предполагающим, что большинство пользователей в начале своего пути не знают, чего именно они хотят, и для них будет лучше не терзать себя попытками выбора, а воспользоваться набором инструментов, подготовленным тем, чьей компетентности и вкусу они доверяют. Наработки проекта распространяются под лицензией MIT. Размер ISO-образа 6.2 ГБ.

Omarchy основан на пакетной базе Arch Linux, но не просто предлагает набор предустановленных пакетов, а пытается предложить среду из сочетающихся между собой приложений, подобранных с учётом эстетики и эффективности решения задач. По мнению Давида, для высокой производительности труда важна мотивация и частью такой мотивации является красивое и эстетичное окружение. Графическая среда построена на базе композитного менеджера Hyprland с мозаичной компоновкой окон.

Дистрибутив не пытается быть похожим на Windows или macOS, угодить большинству или показаться привычным пользователям. Вместо ориентации на гипотетического среднего пользователя в Omarchy предлагаются только приложения, повседневно используемые Давидом - от Neovim, Chromium и LibreOffice до Spotify, Omawrite, Foot и Zoom. Предполагается, что подготовленное окружение, работа с кодом в Neovim, активное использование терминала и мозаичная компоновка окнами многим покажутся непривычными, но те кто решится выйти из зоны комфорта и освоить для себя что-то новое сможет повысить эффективность своей работы.

Изменения в Omarchy 4.0:

  • Среда рабочего стола полностью переделана с использованием фреймворка Quickshell - панель, интерфейс запуска программ, меню, система вывода уведомлений, экранные индикаторы, панель управления, интерфейс блокировки экрана и агент выполнения привилегированных операций переписаны при помощи QtQuick и теперь выполняются в едином shell-процессе с архитектурой на базе плагинов. Использование сторонних пакетов Waybar, Walker, Mako, SwayOSD, hyprlock, hypridle, swaybg и polkit-gnome прекращено и заменено на собственную реализацию.
  • Предложен новый интерфейс для выбора темы оформления (Style > Theme), поддерживающий предпросмотр имеющихся тем.
  • Реализовано наглядное переключение обоев рабочего стол по нажатию SUPER + CTRL + SPACE.
  • Объединены меню и интерфейс запуска программ, вызываемые комбинацией SUPER + SPACE.
  • Через размещаемые на панели виджеты реализован запуск полноценных панелей управления настройками звука (SUPER + CTRL + A) и сетевого соединения (SUPER + CTRL + W)
  • Добавлена панель для просмотра прогноза погоды.
  • Для позиционирования панели и прикрепления её к разным краям экрана реализован интерфейс в стиле drag&drop. Для изменения прозрачности можно использовать двойной клик в пустой области панели.
  • Для выполнения привилегированных операций задействованы pkexec и polkit с выводом запроса подтверждения операции и поля для ввода пароля.
  • Предоставлена возможность использования разных AI-агентов (Setup > Defaults > Agent), таких как Claude Code, Codex, OpenCode, Pi, Oh My Pi, Gemini, Grok, Copilot и Crush.
  • Вместо Typora для редактирования текста в формате markdown задействован редактор Omawrite.
  • Для обрезки видеороликов подготовлено собственное приложение Omacu, использующее ffmpeg.
  • В качестве калькулятора вместо GNOME Calculator предложен Omacalc.
  • В качестве эмулятора по умолчанию предложен Foot, для аннотирования изображений - Tensaku, для стриминга игр - Moonlight, для просмотра свободного места на диске - dua.
  • Добавлен режим установки без добавления пользователя. В этом случае создание пользователя и базовая настройка производится во время первой загрузки.

  1. OpenNews: Доступен дистрибутив Omarchy 3.3
  2. OpenNews: Выпуск композитного сервера Hyprland 0.56
Обсуждение (83 +3) | Тип: Программы |
·14.08.2026 В systemd-journald спустя 6 лет признали проблему избыточной нагрузки на накопители (323 +137)
  Разработчики проекта systemd приступили к изучению и устранению давней архитектурной проблемы в компоненте "systemd-journald", приводящей к многократному завышению объёма записываемых на диск данных (write amplification) по сравнению с фактическим объёмом логов.

История тянется с марта 2020 года, когда в системе отслеживания ошибок был зарегистрирован отчёт, в котором было продемонстрировано, что генерирование около 500 КБ текстовых логов выливается в более чем 700 МБ физических операций записи на SSD. Разработчики systemd тогда наотрез отказались признавать проблему, ответили в стиле "вы не понимаете, как работают файловые системы", отказались от проведения профилирования и закрыли заявку с вердиктом "not actionable". Комментарии разработчиков собрали сотни отрицательных оценок от пользователей, однако позиция проекта осталась непреклонной.

В начале 2026 года был отправлен повторный отчёт о проблеме, в ходе обсуждения которого независимый разработчик ValdikSS провёл подробное профилирование с использованием изолированных cgroup и loop-устройств, наглядно доказав механизм возникновения проблемы: из-за использования отображаемых в память файлов (mmap) и двоичных хэш-таблиц запись даже одного текстового сообщения размером 750 байт приводит к модификации отпечатков в памяти, вызывая сброс на диск полных 4-килобайтных страниц и генерацию от 50 КБ (ext4) до 110 КБ (btrfs) итогового ввода/вывода на уровне блочного устройства.

После вчерашнего попадания отчёта о проблеме на главную страницу Hacker News и публикации неопровержимых синтетических тестов мейнтейнеры проекта изменили риторику и начали работу над оптимизацией механизмов сброса кэша и структуры хранения индексов journald.

Дополнение: по другим данным, в статье на Reddit за начало работы разработчиков systemd над оптимизацией формата хранения приняли коммит стороннего разработчика jleeuwes в собственный репозиторий с конфигурацией системы, при том, что реакции от непосредственных разработчиков systemd не последовало.

  1. OpenNews: Выпуск системного менеджера systemd 261 и форка liberated-systemd 261
  2. OpenNews: Во Flatpak намерены сделать systemd обязательной зависимостью
  3. OpenNews: В Debian 14 намерены удалить слой для совместимости systemd со скриптами sysv-init
  4. OpenNews: Создатель systemd и мэйнтейнер VFS ушли из Microsoft и основали компанию Amutable
Обсуждение (323 +137) | Автор: Artem S. Tashkinov | Тип: К сведению |
·14.08.2026 Обход изоляции памяти на системах с CPU AMD через манипуляции с контроллером памяти (92 +20)
  На конференции Black Hat 2026 продемонстрирован метод атаки, использующий swizzle-режим контроллеров памяти AMD для обхода изоляции памяти и чтения или записи произвольных данных из памяти, включая области с микрокодом CPU и память, выделенную PSP-процессору (Platform Security Processor). Метод позволяет обойти встроенные механизмы шифрования памяти (AMD SME/SEV), нарушить изоляцию виртуальных машин и перезаписать микрокод процессора. Для манипуляций с контроллером памяти требуется выполнение кода на уровне ядра, что снижает опасность представленной техники атаки.

Режим "swizzle" изменяет логику адресации оперативной памяти для исключения конфликтов, возникающих при последовательном доступе, возникающих при чтении из разных строк в одном банке памяти. Для исключения подобных конфликтов в режиме "swizzle" контроллер применяет операцию XOR к части битов адреса для разделения последовательно идущих блоков данных по разным банкам памяти. Атака сводится к манипуляциям с режимом "swizzle" на работающей системе для перераспределения физических адресов на лету.

Прототип атаки продемонстрирован на процессорах AMD семейства 16h, применявшихся в консолях PS4 и Xbox One, в которых регистры конфигурации адресации контроллера памяти были документированы и отсутствовал механизм их блокировки после загрузки системы. В процессорах AMD семейства 17h и более новых (начиная с Zen) компания AMD реализовала механизм блокировки доступа к регистрам конфигурации контроллера памяти, а также добавила защиту от подмены копии микрокода, сбрасываемого в оперативную память во время перехода процессора в спящий режим (C6).

  1. OpenNews: Уязвимость в CPU AMD, позволяющая обойти механизм защиты SEV (Secure Encrypted Virtualization)
  2. OpenNews: Уязвимость в CPU AMD, приводящая к переполнению микроархитектурного стека
  3. OpenNews: Google опубликовал инструментарий для анализа и изменения микрокода AMD
  4. OpenNews: CPU AMD Zen 5 подвержены уязвимости, допускающей изменение микрокода и обход изоляции SEV-SNP
  5. OpenNews: Атака TSA, приводящая к утечке информации из микроархитектурных структур CPU AMD
Обсуждение (92 +20) | Тип: Проблемы безопасности |
·14.08.2026 Для KDE Plasma 6.6 обеспечено сопровождение в течение 3 лет (45 +22)
  Организация KDE e.V., совместно с компаниями Kubuntu Focus и Techpaladin Software, представила инициативу по обеспечению LTS-поддержки ветки KDE Plasma 6.6, подразумевающую формирование исправлений в течение как минимум трёх лет.

В прошлом году проект KDE прекратил поддержание LTS-веток и делегировал их сопровождение разработчикам дистрибутивов, желающим поставлять старые версии KDE Plasma. Решение было принято в связи с большими трудозатратами на разбор проблем из-за использования в дистрибутивах специфичных программных стеков или рассинхронизации состояния пакетов с актуальной кодовой базой KDE. Фактически только дистрибутив Kubuntu использовал LTS-ветку, а Debian и openSUSE игнорировали её. Кроме того, LTS-поддержка не была полноценной и подразумевала лишь бэкпортирование отдельных исправлений в KDE Plasma без тестирования в системе непрерывной интеграции, и не охватывала библиотеки KDE Frameworks и приложения KDE Gear.

Для сопровождения старого стека KDE компания Kubuntu Focus, занимающаяся производством ноутбуков, поставляемых с Kubuntu, выделила 100 тысяч долларов, которые будут потрачены на продолжение исправления ошибок в ветках KDE Plasma 6.6, KDE Frameworks 6.24 и KDE Gear 25.12, поставляемых в дистрибутиве Kubuntu 26.04. Работа по сопровождению будет выполнена компанией Techpaladin Software, директором которой является Нейт Грэм (Nate Graham), разработчик, занимающийся контролем качества в проекте KDE.

Помимо этого отдельно выделены средства на добавление в инфраструктуру KDE трёх дополнительных узлов c системой непрерывной интеграции, на которых будет осуществляться тестирование работы KDE в Kubuntu 26.04.

  1. OpenNews: KDE прекращает формирование LTS-релизов и реформирует отправку телеметрии
  2. OpenNews: Проект SonicDE продолжил развитие KDE для систем с X11
  3. OpenNews: В KDE Plasma 6.8 решено прекратить поддержку X11
  4. OpenNews: Размер кодовой базы KDE достиг 8 млн строк кода
  5. OpenNews: Релиз среды рабочего стола KDE Plasma 6.7
Обсуждение (45 +22) | Тип: К сведению |
Следующая страница (раньше) >>



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

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