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

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

·10.07 Выпуск Rust 1.97. Написанные на Rust ядро Zinnia и P2P-система Iroh с адресацией по ключам (22 +2)
  Опубликован релиз языка программирования Rust 1.97, основанного проектом Mozilla, но ныне развиваемого под покровительством независимой некоммерческой организации Rust Foundation. Язык сфокусирован на безопасной работе с памятью и предоставляет средства для достижения высокого параллелизма выполнения заданий, при этом обходясь без использования сборщика мусора и runtime (runtime сводится к базовой инициализации и сопровождению стандартной библиотеки).

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

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

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

  • По умолчанию включена новая схема декорирования (mangling) имён функций, глобальных переменных и структур данных в генерируемых объектных и исполняемых файлах (-Csymbol-mangling-version=v0). Имена декорируются для предотвращения конфликтов во время компоновки разных программ, путём прикрепления специфичного контекста, такого как путь к модулю и имя crate-пакета.

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

  • В пакетный менеджер cargo встроена возможность управления реакцией на генерацию компилятором предупреждений при сборке. Добавлена переменная окружения CARGO_BUILD_WARNINGS, которая может принимать три значения: warn (по умолчанию) - вывод предупреждения на экран; allow - скрытие вывода предупреждений; deny - обработка предупреждений как ошибок, останавливающих сборку.

    В прошлых версиях для завершения сборки после вывода предупреждения приходилось указывать "-Dwarnings" в RUSTFLAGS для компилятора, но при изменении RUSTFLAGS пакетный менеджер cargo считал сборку новой, не учитывал данные в кэше и с нуля пересобирал весь проект. Перенос настройки на сторону cargo исключил сброс кэша и необходимость полной перекомпиляции при изменении режима обработки предупреждений, а также упростил включение обработки предупреждений как ошибок в системах непрерывной интеграции.

  • При сборке включено по умолчанию отображения сообщений, выводимых компоновщиком. Сообщения выводятся в форме предупреждений через специальное lint-правило "linker_messages", которое не входит в стандартную группу "warnings". При этом rustc отфильтровывает сообщения, которые являются типовыми ложными срабатываниями или нормальным поведением, оставляя предупреждения, которые могут свидетельствовать о проблемах, такие как предупреждения об устаревших опциях и нежелательных настройках. Ранее информация от компоновщика показывалась только при завершении с ошибкой, а иначе все сообщения скрывались. Для возвращения старого поведения в Cargo.toml можно добавить:
    
       [lints.rust]
       linker_messages = "allow"
    
  • В разряд стабильных переведена новая порция API, в том числе стабилизированы методы и реализации типажей:
  • Признак "const" применён в методе char::is_control.



Дополнительно можно отметить недавно анонсированные проекты и события, связанные с Rust:

  • Проект zinnia развивает модульное Unix-подобное ядро, написанное на языке Rust и распространяемое под лицензией GPLv2. Ядро поддерживает POSIX-интерфейсы и некоторые расширения из BSD и Linux, такие как epoll и timerfd. Для отрисовки и организации ввода доступны драйверы DRM (Direct Rendering Manager) и evdev. Реализованной функциональности достаточно для запуска среды рабочего стола Xfce под управлением X-сервера и композитного сервера Weston на базе Wayland. Поддерживается загрузка как в эмуляторе QEMU, так и на реальном оборудовании, таком как ноутбук ThinkPad E14 G7.
  • Представлен релиз коммуникационной библиотеки iroh 1.0, позволяющей устанавливать сетевые соединения между приложениями на разных хостах с подключением по криптографическим ключам, вместо IP-адресов (указывается ключ к которому необходимо подключиться и iroh находит связанный с ним хост и устанавливает шифрованное соединение с использованием протокола QUIC). По возможности устанавливаются прямые P2P-соединения, но если это невозможно, выполняется откат на работу через релеи, которые также применяются для обнаружения хостов по ключам. Возможен запуск своего релея или подключение к поддерживаемым сообществом публичным релеям.

    Среди расширенных возможностей: поддержка Multipath QUIC для доставки пакетов одновременно по нескольким маршрутам, возможность работы из-за NAT, режим статической конфигурации для подключения к локальным устройствам без доступа к интернету, возможность сборки в промежуточный код WASM для выполнения внутри браузера, поддержка создания своих транспортов, например, для подключения через Bluetooth, WiFi Aware или LoRa. Код написан на Rust и распространяется под лицензиями Apache-2.0 и MIT. Доступны обвязки для Python, Node.js, Kotlin и Swift.

  • Автор серверной JavaScript-платформы Bun опубликовал статью с разбором проекта по переписыванию Bun с языка Zig на Rust, используя AI-модель Claude Fable. Отмечается, что Bun 1.3.14 станет последним выпуском на Zig и следующая версия Bun 1.4.0 уже будет на Rust. Судя по проведённым тестам, версия на Rust потребляет значительно меньше памяти и на 2-5% быстрее версии на Zig. Размер исполняемого файла в версии на Rust сократился на 20%.

  1. Главная ссылка к новости
  2. OpenNews: Опубликован crustc - компилятор rustc, переведённый на язык Си
  3. OpenNews: Возвращение в Ubuntu утилиты cp из Rust Coreutils привело к сбою при сборке livecd-rootfs
  4. OpenNews: Выпуск X-сервера yserver 1.0.0, написанного на Rust и пригодного для запуска MATE, Xfce и Cinnamon
  5. OpenNews: Выпуск ядра Asterinas 0.18, написанного на языке Rust и совместимого с Linux
  6. OpenNews: Выпуск Rust 1.96. Оценка пригодности Rust для создания прошивок к микроконтроллерам
Обсуждение (22 +2) | Тип: Программы |


·10.07 Десятый экспериментальный выпуск среды рабочего стола Orbitiny (42 +5)
  Опубликован десятый выпуск среды рабочего стола Orbitiny Desktop, написанной с нуля с использованием фреймворка Qt. Проект пытается совместить некоторые инновационные идеи, которые раньше не встречались в пользовательских окружениях, с традиционными элементами, такими как панель с поддержкой плагинов, меню приложений и рабочий стол, на котором можно размещать ярлыки. Работа пока сосредоточена на запуск в окружениях на базе X-сервера, но в будущем не исключается добавление поддержки Wayland. Код написан на языке C++ и распространяется под лицензией GPL.

Из специфичных для Orbitiny возможностей отмечается: вызов действий через экранные жесты (очерчивание мышью определённого контура на пустой области рабочего стола); метки на пиктограммах (показываются для новых, изменённых, пустых или перемещённых через буфер обмена файлов, а также пустых каталогов); возможность вставки файла одновременно в несколько выбранных каталогов; поддержка размещения содержимого рабочего стола в любом каталоге (не только в $HOME/Desktop); использование отдельных десктоп-каталогов для каждого виртуального рабочего стола и монитора. Список типовых возможностей Orbitiny можно посмотреть в прошлом анонсе.

Среди изменений:

  • Добавлена новая панель управления, предоставляющая возможности для изменения настроек, просмотра информации о системе и доступа к внешним конфигураторам. Навигация по встроенным страницам с настройками осуществляется через боковую панель, а вызов внешних конфигураторов через настраиваемые кнопки в верхней части экрана.
  • Реализована поддержка закрепления панели задач в любой части экрана и изменения размера мышью, а также прокрутки содержимого панели вращением колеса на мыши.
  • На панель добавлена кнопка для вызова диалога со списком окон запущенных приложений и возможностью фильтрации окон по названию.
  • Предложен новый апплет с меню быстрого запуска, вызываемый нажатием на кнопку "…" после списка закреплённых ярлыков приложений.
  • В меню приложений добавлены новые секции: "Orbitiny Programs" для доступа к встраиваемым в меню апплетам конфигуратора, и "Local Programs" со списком программ, для которых в каталоге ~/.local/share/applications размещены desktop-файлы.
  • Появилась возможность изменения тем оформления на лету (сразу после редактирования CSS-файлов) без перезапуска среды рабочего стола.
  • Интерфейсы для запуска команд и отслеживания нагрузки на CPU преобразованы в однокнопочные апплеты.
  • В файловом менеджере список вкладок перемещён в область под заголовком окна, а слайдер для изменения размера пиктограмм - в левый нижний угол.

  1. Главная ссылка к новости
  2. OpenNews: Девятый экспериментальный выпуск среды рабочего стола Orbitiny
  3. OpenNews: Восьмой экспериментальный выпуск среды рабочего стола Orbitiny
  4. OpenNews: Седьмой экспериментальный выпуск среды рабочего стола Orbitiny
  5. OpenNews: Пятый экспериментальный выпуск среды рабочего стола Orbitiny
  6. OpenNews: Выпуск десктоп-окружения Trinity 14.1.6, продолжающего развитие KDE 3.5
Обсуждение (42 +5) | Тип: Программы |


·10.07 pgrust - клон PostgreSQL на Rust, проходящий все регрессионные тесты (157 –18)
  Опубликован проект pgrust с реализацией СУБД PostgreSQL, переписанной на языке Rust c использованием транслятора c2rust и AI-ассистента. Заявлено, что проект пока не готов для использования в рабочих проектах, но уже успешно проходит все регрессионные тесты PostgreSQL, совместим с форматом хранения данных PostgreSQL 18.3 и может использовать data-каталог от PostgreSQL 18.3. Код проекта распространяется под лицензией AGPLv3, в отличие от оригинального PostgreSQL, поставляемого под пермиссивной лицензией PostgreSQL, близкой к лицензиям BSD и MIT. Доступна online-демонстрация возможностей, основанная на сборке в WebAssembly, а также docker-образ для быстрого запуска.

В качестве цели разработки упоминается достижение полной совместимости с PostgreSQL 18.3, а также проведение экспериментов по изменению внутреннего устройства и созданию версии PostgreSQL, избавленной от архитектурных ограничений, от которых не удаётся избавиться по историческим причинам. Проект успешно проходит набор из более чем 46 тысяч регрессионных тестов PostgreSQL, но пока несовместим с дополнениями к PostgreSQL, не предоставляет желаемых оптимизиций производительности и не полностью реализует процедурные языки PL/Python, PL/Perl и PL/Tcl.

Планы на будущее:

  • Перевод на многопоточную внутреннюю архитектуру.
  • Реализация пулинга соединений.
  • Оптимизация для рабочих процессов, активно использующих JSON.
  • Возможность создания копий и ответвлений элементов БД в режиме Copy-on-Write без копирования данных.
  • Эксперименты с архитектурой, не требующей выполнения операции VACUUM.
  • Система ограничений SQL-запросов, позволяющая блокировать излишнее потребление ресурсов при выполнении некачественных запросов.
  • Защита от переключение оптимизатора на менее эффективные планы выполнения запросов.

По словам автора проекта, в настоящее время ведётся работа над следующей версией pgrust, в которой вместо пула рабочих процессов реализована многопоточная модель обработки соединений, а также задействованы дополнительные оптимизации, такие как пакетная обработка строк в таблицах и упреждающая загрузка данных. При тестировании инструментарием percona-tpcc при обработке транзакций новая версия pgrust оказалась быстрее штатного PostgreSQL на 50%, а при обработке аналитических запросов - в 300 раз.

При переводе на Rust использован гибридный подход, при котором код PostgreSQL вначале был обработан при помощи транслятора c2rust, генерирующего unsafe-представление Rust, близкое по своей структуре к изначальному коду на Си. После обработки в c2rust было создано около 1000 crate-пакетов, которые параллельно переводились на идиоматический Rust при помощи AI-модели Claude и инструментария Conductor для распределения задач между одновременно запускаемыми субагентами.

  1. Главная ссылка к новости
  2. OpenNews: Компоненты браузера Ladybird начали переписывать на Rust при помощи AI
  3. OpenNews: DARPA развивает AI-транслятор для переписывания Си-кода на Rust
  4. OpenNews: Проблемы с соблюдением авторского права при переписывании ScanCode на Rust при помощи AI
  5. OpenNews: При помощи AI для новых ядер Linux портирован драйвер ftape, удалённый 20 лет назад
  6. OpenNews: Релиз СУБД PostgreSQL 18
Обсуждение (157 –18) | Тип: Программы |


·09.07 В NPM 12.0 по умолчанию отключён запуск скриптов при установке пакетов (67 +12)
  Опубликован выпуск пакетного менеджера NPM 12.0, входящего в поставку Node.js и применяемого для распространения модулей на языке JavaScript. Новая версия примечательна прекращением по умолчанию запуска скриптов во время установки пакетов. Предполагается, что изменение усложнит проведение атак через компрометацию зависимостей и замедлит распространение червей, активируемых из установочных скриптов.

Для запрета автозапуска скриптов, указанных в package.json через параметры preinstall, install или postinstall, настройка allowScripts по умолчанию выставлена в значение "off". Выполнение подобных скриптов, а также запуск компиляции C/C++ кода утилитой node-gyp при наличии в пакете файла binding.gyp, теперь производится только при получении явной инструкции от пользователя. Помимо этого, параметры "--allow-git" и "--allow-remote" по умолчанию теперь выставлены в значение "none", что отключает автоматическую загрузку зависимостей из Git-репозиториев и по прямым ссылкам на сайты с tar-архивами.

Для организации запуска установочных скриптов следует использовать команду "npm approve-scripts", в качестве аргумента которой передаются имена пакетов, заслуживающих доверия, или опция "--all" для предоставления разрешения всем пакетам. Для сомнительных пакетов рекомендовано запускать команду "npm approve-scripts --allow-scripts-pending", которая выведет список претендующих на запуск скриптов. После проверки данных скриптов их можно разрешить командой "npm approve-scripts" и добавить в белый список в package.json.

Помимо этого анонсирован запрет использования в репозитории NPM GAT-токенов доступа (Granular Access Tokens), настроенных для выполнения действий без двухфакторной аутентификации (2FA). Начиная с августа подобные токены без дополнительного ручного подтверждения действий не позволят выполнять такие операции, как создание или удаление токенов, изменение профиля, пароля или email, настройка двухфакторной аутентификации, генерация кодов восстановления, изменение прав доступа и управление сопровождающими.

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

Для автоматической публикации предлагается использовать механизм "Trusted Publishers", основанный на использовании стандарта OpenID Connect (OIDC) и токенов аутентификации с ограниченным временем действия, которыми обмениваются внешние сервисы и каталог пакетов для подтверждения операции публикации пакета вместо использования традиционных паролей или постоянных токенов доступа к API.

  1. Главная ссылка к новости
  2. OpenNews: Атакующие встроили вредоносное ПО в 32 NPM-пакета Red Hat
  3. OpenNews: В 42 NPM-пакета TanStack интегрирован самораспространяющийся червь
  4. OpenNews: Раскрыты подробности захвата учётных данных сопровождающего NPM-пакет axios
  5. OpenNews: Утечка кода инструментария Claude Code из-за забытого в NPM-пакете map-файла
  6. OpenNews: При помощи червя Shai-Hulud скомпрометировано 600 NPM-пакетов
Обсуждение (67 +12) | Тип: Программы |


·09.07 Доступен язык программирования TypeScript 7.0 с компилятором, переписанным на Go (98 +16)
  Компания Microsoft опубликовала релиз TypeScript 7.0, языка для разработки web-приложений, расширяющего возможности JavaScript, и связанного с ним инструментария. Выпуск примечателен поставкой нового компилятора typescript-go (tsgo), транслирующего код TypeScript в представление JavaScript, который был переписан на языке Go и теперь признан готовым для сборки рабочих проектов. Инструментарий распространяется под лицензией Apache 2.0, разработка ведётся в публичном репозитории через сервис GitHub. Спецификации языка открыты и опубликованы в рамках соглашения Open Web Foundation Specification Agreement.

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

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

По функциональности язык TypeScript 7 близок к TypeScript 6 и данные ветки взаимозаменяемы, а компиляторы могут сосуществовать в одной системе. Все необходимые для ветки TypeScript 7 настройки по умолчанию были изменены в выпуске TypeScript 6, в котором также были переведены в разряд устаревших возможности языка, несовместимые с TypeScript 7. Теоретически любой TypeScript-код, компилируемый в TypeScript 6.0, должен компилироваться и в TypeScript 7.0 при выставлении режима stableTypeOrdering и без использования флагов ignoreDeprecations. Какое-то время кодовые базы TypeScript 6.x и TypeScript 7.x будут параллельно сопровождаться и сосуществовать, пока ветка TypeScript 7 не достигнет зрелого состояния, готового полностью заменить старый инструментарий.

Что касается производительности компилятора, то по сравнению с прошлой веткой скорость сборки в TypeScript 7 возросла при пересборке vscode в 11.9 раз, sentry - в 8.9 раз, bluesky - 8.7 раз, playwright - 8.7 раз, tldraw - 7.7 раз. При этом потребление памяти уменьшилось при сборке vscode на 18%, sentry - 6%, bluesky - 26%, playwright - 11% и tldraw - 15%. Запуск в режиме проверки типов в TypeScript 7 производится в 10.6-16.7 раз быстрее, чем в TypeScript 6.

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

Язык TypeScript расширяет возможности JavaScript, оставаясь полностью обратно совместимым, что упрощает перевод существующих приложений на TypeScript. Итоговое приложение на TypeScript компилируется в обычный JavaScript, который можно выполнить в любом современном web-браузере или использовать c платформами Node.js, Bun и Deno. В программах на TypeScript можно использовать существующие JavaScript-библиотеки. От JavaScript язык TypeScript отличается средствами для явного определения типов, а также поддержкой использования полноценных классов. Статическая типизация позволяет избежать многих ошибок в процессе разработки, даёт возможность задействовать дополнительные техники оптимизации, упрощает отладку, делает код более читаемым и простым для доработки и сопровождения.

  1. Главная ссылка к новости
  2. OpenNews: Доступен TypeScript 6.0, последний выпуск с компилятором на JavaScript
  3. OpenNews: Microsoft переписывает компилятор TypeScript на языке Go
  4. OpenNews: В Node.js добавлена экспериментальная поддержка языка TypeScript
  5. OpenNews: Предложен компилятор исходных текстов на языке TypeScript в машинный код
  6. OpenNews: Утверждён перевод JavaScript-платформы Bun на язык Rust
Обсуждение (98 +16) | Тип: Программы |


·09.07 Quake портирован для запуска внутри игрового мира Roblox (47 +9)
  Энтузиаст перевёл исходный код 3D-шутера Quake образца 1996 года, а также многопользовательскую редакцию Quakeworld и моды на язык Luau и смог запустить их внутри игрового мира Roblox. Работа была выполнена при помощи AI-модели Claude Fable (затраты на токены составили $3000). Код порта опубликован под лицензией GPLv2.

Портированы оба многопользовательских движка Quake - NetQuake для совместного прохождения уровней и QuakeWorld для сражения с другими людьми. Возможно использование игровых ресурсов из shareware-версии Quake, полной версии Quake или LibreQuake. Реализована поддержка запуска немодицифированных модов QuakeC. Растеризатор Quake заменён на использование Roblox EditableMesh для отрисовки геометрии и lightmap для расчёта освещения. Сетевой стек на базе UDP заменён на систему сетевых событий Roblox (RemoteEvents).

Из специфичных для Roblox изменений добавлены аватары (игроки в Quake выглядят как персонажи Roblox), меню Roblox c управлением через сенсорный экран, управление матчами c возможностью запускать голосования во время матча, меню администратора для изменения правил игры, статистика с рейтингом лидеров, режим цензурированной отрисовки для детей.

  1. Главная ссылка к новости
  2. OpenNews: При помощи AI для новых ядер Linux портирован драйвер ftape, удалённый 20 лет назад
  3. OpenNews: Компания Cloudflare представила EmDash, альтернативу WordPress с изоляцией плагинов
  4. OpenNews: Anthropic опубликовал Си-компилятор, созданный AI-моделью Claude Opus и способный собрать ядро Linux
Обсуждение (47 +9) | Тип: К сведению |


·09.07 На 31 августа намечено удаление из Chrome Web Store всех дополнений, использующих вторую версию манифеста (105 –26)
  Компания Google запланировала на 31 августа удаление из каталога Chrome Web Store всех остающихся дополнений, использующих вторую версию манифеста Chrome, определяющего возможности и ресурсы, доступные для дополнений, написанных с использованием API WebExtensions. Уже установленные дополнения останутся на системах пользователей, но не смогут получать обновления и их нельзя будет переустановить в случае удаления из браузера.

В опубликованном неделю назад выпуске Chrome 150 была удалена поддержка флага kExtensionManifestV2Disabled, позволявшего вернуть возможность установки дополнений с второй версией манифеста из каталога Chrome Web Store. В выпуске Chrome 151, намеченном на 28 июля, будет удалён параметр AllowLegacyMV2Extensions, позволяющий вручную в режиме разработчика загружать дополнения на базе второй версии манифеста.

На смену второй версии манифеста Chrome пришла третья версия, разработанная в рамках инициативы по упрощению создания безопасных и высокопроизводительных дополнений. Основное недовольство третьей версией манифеста вызвано переводом в режим только для чтения API webRequest, позволявшего подключать собственные обработчики, имеющие полный доступ к сетевым запросам и способные на лету модифицировать трафик. Вместо API webRequest в третьей версии манифеста добавлен ограниченный по своим возможностям API declarativeNetRequest, предоставляющий доступ к встроенному движку для фильтрации, самостоятельно обрабатывающему правила блокировки, не разрешающему использовать собственные алгоритмы фильтрации.

  1. Главная ссылка к новости
  2. OpenNews: Релиз Chrome 150
  3. OpenNews: В Chrome 151 будет удалён обходной путь для установки uBlock Origin
  4. OpenNews: Google случайно раскрыл детали неисправленной уязвимости в Chromium
  5. OpenNews: Планы в отношении поддержки в Firefox второй и третьей версий манифеста Chrome
  6. OpenNews: Google анонсировал скорое прекращение поддержки второй версии манифеста в Chrome
Обсуждение (105 –26) | Тип: К сведению |


·09.07 В среде рабочего стола Cinnamon реализована полноценная поддержка Wayland (81 +19)
  Разработчики дистрибутива Linux Mint объявили о стабилизации поддержки протокола Wayland в среде рабочего стола Cinnamon. В кодовой базе, на основе которой формируется будущий стабильный выпуск Cinnamon 6.8 практически достигнут паритет в функциональности при работе с использованием X11 и Wayland. В Cinnamon 6.8 будет полностью поддерживаться как работа с использованием X11, так с Wayland. Намеченный на декабрь выпуск Linux Mint 23 станет первым, в котором поддержка Wayland в Cinnamon не будет рассматриваться экспериментальной.

Среди недавних улучшений в Cinnamon:

  • При использовании Walyand обеспечен корректный выбор размера и позиционирование новых окон, всплывающих диалогов и контекстных меню.
  • При работе через Walyand реализовано корректное переключение фокуса ввода.
  • Устранены многие ошибки в Cinnamon, muffin, cinnamon-session и Xwayland, приводившие к аварийному завершению работы при использовании Wayland.
  • Улучшена поддержка многомониторных конфигураций и KVM-переключателей мониторов в окружении c Wayland.
  • В приложениях, использующих Wayland или запускаемых через Xwayland, а также в композитном сервере и десктоп-сеансе задействовано аппаратное ускорение графики, реализованное через Wayland-протоколы wl_drm и zwp_linux_dmabuf_v1, а также аппаратно ускоренную работу GBM поверх EGL на видеокартах NVIDIA.
  • Предоставлена полная поддержка экранов с высокой плотностью пикселей (HiDPI) при использовании Wayland. Решены проблемы с масштабированием пиктограмм и курсоров мыши. Устранены ошибки, проявлявшиеся в приложениях на движке Chromium, таких как Slack и VSCode.
  • При использовании Wayland реализована работа индикаторов прогресса выполнения операции, например, показа прогресса копирования файлов в кнопке на панели.
  • Обеспечен запуск базовых приложений, запускаемых через pkexec, в качестве Wayland-клиентов без применения Xwayland.
  • Добавлена команда "cinnamon-list-windows" для упрощения получения списка всех открытых окон и определения их позиции, размера, данных о HiDPI и связанных с ними приложениях и бэкендах.
  • В композитном сервере Muffin обеспечено округление до целых чисел координат и размеров всех графических элементов библиотеки Clutter для более точного позиционирования и чёткой отрисовки апплетов и компонентов рабочего стола.
  • Добавлена поддержка юнитов systemd для пользовательских сеансов (graphical-session.target), активируемых для запуска сопутствующих сервисов в привязке к графическому сеансу.

  1. Главная ссылка к новости
  2. OpenNews: Linux Mint начал публиковать HWE-сборки с более новым ядром
  3. OpenNews: Linux Mint переходит на общий с LMDE инсталлятор и наметил релиз на конец года
  4. OpenNews: Linux Mint развивает новый хранитель экрана и намерен реже выпускать релизы
  5. OpenNews: Релиз дистрибутива Linux Mint 22.3
  6. OpenNews: Выпуск среды рабочего стола Cinnamon 6.6
Обсуждение (81 +19) | Тип: К сведению |


·09.07 Выпуск межсетевого экрана firewalld 2.5.0 (25 +4)
  Сформирован выпуск динамически управляемого межсетевого экрана firewalld 2.5.0, реализованного в форме обвязки над пакетными фильтрами nftables и iptables. Firewalld запускается в виде фонового процесса, позволяющего динамически изменять правила пакетного фильтра через D-Bus, без необходимости перезагрузки правил пакетного фильтра и без разрыва установленных соединений. Проект уже применяется во многих дистрибутивах Linux, включая RHEL 7+, Fedora 18+ и SUSE/openSUSE 15+. Код firewalld написан на языке Python и распространяется под лицензией GPLv2.

Для управления межсетевым экраном используется утилита firewall-cmd, которая при создании правил отталкивается не от IP-адресов, сетевых интерфейсов и номеров портов, а от названий служб (например, для открытия доступа к SSH нужно выполнить "firewall-cmd --add --service=ssh", для закрытия SSH - "firewall-cmd --remove --service=ssh"). Для изменения конфигурации межсетевого экрана также может использоваться графический интерфейс firewall-config (GTK) и апплет firewall-applet (Qt). Поддержка управления межсетевым экраном через D-BUS API firewalld имеется в таких проектах, как NetworkManager, libvirt, podman, docker и fail2ban.

Ключевые изменения:

  • В графическом интерфейсе firewall-config реализована поддержка автоматического переключения на тёмную тему оформления в GNOME.
  • Обеспечено отражение в логах изменений конфигурации.
  • Добавлен сервис solr для одноимённого поискового движка, основанного на Apache Lucene (TCP-порт 8983).
  • Реализовано срабатывание таймаутов при обработке правил фильтрации, разрешено указание таймаутов для опций "--add-disable", "--ingress-zone" и "--egress-zone".
  • Проведена оптимизация производительности операций проверки зон и правил.
  • В rpm-пакете из списка зависимостей удалён пакет dbus-x11.

  1. Главная ссылка к новости
  2. OpenNews: Выпуск межсетевого экрана firewalld 2.4.0
  3. OpenNews: Опубликована платформа запуска серверных приложений NethServer 8.5
  4. OpenNews: Выпуск дистрибутива для создания межсетевых экранов OPNsense 25.7
  5. OpenNews: Опубликована Linux-версия межсетевого экрана приложений Little Snitch
Обсуждение (25 +4) | Тип: Программы |


·08.07 73% проектов на Flathub, созданных с помощью AI, были заброшены спустя несколько месяцев (131 +24)
  После запрета размещения в каталоге Flathub приложений, сгенерированных при помощи AI, один из разработчиков решил проверить, не лишился ли Flathub из-за подобного запрета ценных участников. Для этого была изучена судьба проектов, отмеченных тегом "AI Slop", который начал применяться во Flathub январе этого года для пометки проектов, файл-манифест для которых создан при помощи AI или разработчики которых использовали AI при общении с рецензирующими.

В выборку попали 120 репозиториев проектов, добавленных с января по 1 апреля. После изучения последних коммитов в данных репозиториях выяснилось, что что с мая по июль активность наблюдалась лишь в 32 из них (27%), а 88 (73%) были заброшены или удалены. Многие проекты перестали обновляться почти сразу после подачи заявки во Flathub.

  1. Главная ссылка к новости
  2. OpenNews: Во Flathub запрещено размещение приложений, сгенерированных при помощи AI
  3. OpenNews: Линус Торвальдс раскритиковал приватный разбор уязвимостей, выявленных при помощи AI
  4. OpenNews: Защита от мусорных AI-изменений на GitHub. Оценка влияния вайб-кодинга на экосистему открытого ПО
  5. OpenNews: Anthropic опубликовал Си-компилятор, созданный AI-моделью Claude Opus и способный собрать ядро Linux
  6. OpenNews: Интервью с Грегом Кроа-Хартманом о созданных через AI отчётах об ошибках
Обсуждение (131 +24) | Тип: К сведению |


·08.07 Вредительство со стороны разработчика OpenMandriva, которое могло причинить вред пользователям (99 +30)
  В результате конфликта с лидером проекта OpenMandriva разработчик Давиде Беатричи (Davide Beatrici), имевший доступ к репозиториям с правами администратора, совершил вредительство, которое привело к повреждению инфраструктуры разработки и нарушению работоспособности систем некоторых пользователей. Беатричи удалил часть GitHub-репозиториев, используемых для разработки компонентов OpenMandriva, а также совершил вредоносные действия в репозитории Cooker, в котором ведётся разработка нестабильной ветки дистрибутива. В частности, он опубликовал пустой пакет, который переводил в категорию устаревших все пакеты GNOME и Cosmic (при помощи тега "Obsoletes:"), что могло нарушить работоспособность систем пользователей, использующих данные среды рабочего стола.

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

Давиде Беатричи известен как один из главных разработчиков приложения для голосового общения Mumble и у команды OpenMandriva не было оснований не доверять ему. Беатричи не внёс большой вклад в разработку OpenMandriva, но выступал с инициативой перевода инфраструктуры разработки с GitHub на принадлежащий ему сервер с платформой OneDev. Инициатива была воспринята неоднозначно, так как часть разработчиков была против перевода репозиториев на систему, контролируемую одним участником, и дело не продвинулось дальше создания зеркал на OneDev.

В связанном с инцидентом заявлении лидера OpenMandriva, указано, что вместе с Беатричи к проекту OpenMandriva присоединились два его знакомых. Один из них через какое-то время стал вести себя оскорбительно по отношению к другим разработчикам и пользователям, некоторые из которых после этого покинули проект. Недопустимое поведение не было замечено сразу, так как по большей части проявлялось в личной переписке. После открытых нападок на одного из участников в matrix-чате и в обсуждениях на GitHub, лидер проекта удалил обидчика из чата.

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

  1. Главная ссылка к новости
  2. OpenNews: Релиз дистрибутива OpenMandriva Lx 6.0
  3. OpenNews: Выпуск дистрибутива OpenMandriva ROME 24.12
  4. OpenNews: Выпуск платформы голосового общения Mumble 1.4
  5. OpenNews: Удаление Gem-пакета в знак протеста привело к проблемам в ряде систем на базе Chef
  6. OpenNews: Проблемы с удалением "protestware" из Debian-пакета xsnow
Обсуждение (99 +30) | Тип: К сведению | Интересно


·08.07 Anthropic на полгода предоставит бесплатную подписку Claude Max разработчикам значительных открытых проектов (104 –13)
  Компания Anthropic объявила о предоставлении сопровождающим и ключевым разработчикам открытых проектов бесплатного 6-месячного доступа к своим сервисам в соответствии с тарифным планом Claude Max 20x ($200 в месяц для платных подписчиков), который включает в 20 раз больше ресурсов, чем тариф Pro, и предоставляет без дополнительных подписок доступ к Claude Code и Claude Cowork.

Требования к участникам открытых проектов, которые могут отправить заявку на получение бесплатной 6-месячной подписки Claude Max 20x:

Обсуждение (104 –13) | Тип: К сведению |


·08.07 Linux запущен на игровой приставке Atari Jaguar (58 +23)
  Следом за портированием Linux на Sega MegaDrive реализована возможность запуска ядра Linux с набором утилит Busybox на игровой консоли Atari Jaguar, выпущенной в 1993 году. Приставка комплектовалась CPU Motorola 68000, поставлялась с 2 МБ ОЗУ и в качестве постоянного хранилища могла использовать картриджи, объёмом до 6 МБ. Устройство было оснащено двумя сопроцессорами: Tom (GPU c 32-разрядной архитектурой RISC + 64-разрядный процессор обработки видео + 64-разрядный процессор для выполнения логических операций) и Jerry (DSP с 32-разрядной архитектурой RISC для работы со звуком).

По аналогии с портом для Sega MegaDrive для выполнения ядра Linux на CPU Motorola 68000, не имеющем аппаратного модуля управления памятью (MMU), штатное ядро 7.2.0-rc1 было собрано в применяемом для микроконтроллеров режиме "NOMMU", позволяющем использовать плоскую модель памяти с линейным адресным пространством (ранее наработки для работы без MMU развивались в форке ядра uClinux, но затем были приняты в основной состав ядра в форме опции "NOMMU"). Проблема с нехваткой оперативной памяти была решена иначе, через задействование механизма execute-in-place (XIP), позволяющего напрямую выполнять код ядра из ПЗУ без копирования в оперативную память.

ОЗУ на устройстве отражено по адресу 0x000000, а ПЗУ (картридж) - по адресу 0x80000, соответственно компоненты ядра Linux были разделены на две отдельные области памяти: секции .rodata и .text с константами и кодом были размещены на картридже, а секции .data и .bss с изменяемыми данными в оперативной памяти. Так как CPU 68000 ищет таблицу векторов прерываний по адресу 0x0, а ядро фактически размещается на картридже, содержимое которого отражено по адресу 0x80000, дополнительно был применён хак с копированием векторов прерываний в ОЗУ.

Проблема с отсутствием таймера в CPU Motorola 68000 была решена через задействование таймеров, используемых в DSP для синтеза звука. Данные таймеры были применены для генерации прерываний для активации планировщика задач. Для вывода сообщений ядра во время загрузки был написан отдельный драйвер консоли, осуществлявший вывод с симуляцией параллельного порта через выводы TXD и RXD, управляемые через DSP-процессор.

Для сборки компонентов пространства пользователя был задействован инструментарий Buildroot с патчами от проекта LinuxMD. Для экономии памяти при инициализации напрямую вызывалась командная оболочка "/bin/busybox sh", функция malloc в библиотеке uClibc была заменена на упрощённый вариант malloc-simple, не сохраняющий дополнительные метаданные, а вместо полноценного загрузчика, такого как U-Boot, выполнялась прямая передача управления ядру командой "jmp $80000".

  1. Главная ссылка к новости
  2. OpenNews: Эксперимент с использованием Linux на макетной плате с процессором Motorola 68000
  3. OpenNews: Ubuntu Linux удалось запустить на 8-битном микроконтроллере
  4. OpenNews: Linux запущен на Intel 4004, первом коммерческом микропроцессоре
  5. OpenNews: Доступен hatari 2.0, эмулятор компьютеров Atari
  6. OpenNews: Linux портирован для игровых приставок Sega MegaDrive
Обсуждение (58 +23) | Тип: К сведению |


·08.07 Выпуск дистрибутива Deepin 25.2, развивающего собственное графическое окружение (57 +7)
  Опубликован релиз дистрибутива Deepin 25.2, развивающего собственный рабочий стол Deepin Desktop Environment (DDE), а также около 40 пользовательских приложений, среди которых музыкальный проигрыватель Deepin Music, видеоплеер Deepin Movie, инсталлятор и центр установки программ Deepin Store. Проект основан группой разработчиков из Китая, но трансформировался в международный проект и поддерживает русский язык. Репозиторий дистрибутива включает более 8000 пакетов. Все наработки распространяются под лицензией GPLv3. Размер загрузочных iso-образов 6.5 ГБ (amd64, arm64, riscv64 и loongarch64).

Компоненты рабочего стола и приложения разрабатываются с использованием языков C/C++ и Go. Графический интерфейс построен с использованием библиотеки Qt. Ключевой особенностью рабочего стола Deepin является панель, которая поддерживает несколько режимов работы. В классическом режиме осуществляется более явное отделение открытых окон и предлагаемых для запуска приложений, отображается область системного лотка. Эффективный режим чем-то напоминает Unity, смешивая индикаторы запущенных программ, избранных приложений и управляющих апплетов (настройка громкости/яркости, подключённые накопители, часы, состояние сети и т.п.). Интерфейс запуска программ предоставляет два режима - просмотр избранных приложений и навигация по каталогу установленных программ.

Среди изменений:

  • Значительно повышена стабильность экспериментального десктоп-окружения Treeland Desktop Environment, построенного на базе композитного сервера Treeland Window Compositor, отличающегося высокой производительностью анимированных эффектов и поддержкой управления жестами на тачпаде. Добавлены возможности для управления устройствами ввода, настройки параметров экрана, персонализации и управления энергопотреблением. Расширены средства для многомониторных конфигураций - появился режим клонирования вывода на несколько экранов, продления содержимого на другой экран, выставления разных разрешений экрана и коэффициентов масштабирования для подключённых мониторов. Обеспечена корректная работа динамических обоев рабочего стола и перехода в ждущий режим или отключения экрана при неактивности.
  • Расширены возможности поиска. Добавлены настройки индексации файлов, позволяющие включать, отключать и обновлять индексы в разделе расширенной конфигурации файлового менеджера. Ускорен поиск по именами файлов. Добавлена опция для включения при индексации оптического распознавания текста на изображениях, что может быть полезным для поиска скриншотов и отсканированных документов. В результатах поиска для наглядности реализован показ отрывков текста и участков изображений, совпадающих с заданными в запросе ключевыми словами. Улучшено извлечение содержимого документов при поиске. Внесены изменения для повышения точности поиска.
  • В файловом менеджере оптимизирована работа с совместными сетевыми хранилищами, повышена безопасность монтирования и отмонтирования, улучшена работа с внешними накопителями.
  • В среде рабочего стола DDE (Deepin Desktop Environment) в панели задач в режиме раздельного показа окон реализовано отображение разных пиктограмм для разных окон одного приложения.
  • В настройках экрана предоставлена возможность объединения нескольких рядом расположенных мониторов в один неразрывный логический экран, на котором, например, можно показывать презентации или визуализировать данные с систем мониторинга.
  • Реализован умный режим выбора зеркал для загрузки обновлений, автоматически предлагающий наиболее близкое зеркало или позволяющий пользователю вручную выбрать зеркало после тестирования скорости загрузки с разных зеркал.
  • Оптимизированы операции, связанные с запуском программ, использованием сенсорного экрана, работой панели задач, выставлением фокуса ввода, показом всплывающих уведомлений и переключением между окнами. Оптимизирована логика определения доступных сетей и переключения между сетями в конфигурациях с несколькими сетевыми адаптерами.
  • Обновлены пакеты с ядром, поставляемые с ветками 6.6 и 6.18. Обновлены версии Qt6, initramfs, ALSA, PipeWire, libvirt, os-config, deepin-debug-config, OpenSSL, OpenSSH, curl, poppler, xorg-server, xwayland, ffmpeg и других базовых пакетов.
  • В эмуляторе терминала оптимизировано выполнение команд и применение темы оформления.
  • В архиваторе оптимизирована обработка архивов, переделаны диалоги ввода пароля и улучшено извлечение файлов с длинными именами.
  • В почтовом клиенте улучшен перенос учётных записей.
  • В просмотрщике документов реализована построчная прокрутка с помощью стрелок управления курсором.
  • Обновлены конфигуратор методов ввода, голосовой блокнот, просмотрщик логов, системный монитор и другие компоненты.

  1. Главная ссылка к новости
  2. OpenNews: В Fedora решено удалить пакеты со средой рабочего стола Deepin
  3. OpenNews: Выпуск дистрибутива Deepin 25.1, развивающего собственное графическое окружение
  4. OpenNews: Доступен дистрибутив Deepin 25, развивающий собственное графическое окружение
  5. OpenNews: openSUSE прекращает поставку Deepin из-за установки небезопасных компонентов в обход RPM
  6. OpenNews: Выпуск дистрибутива UbuntuDDE 23.04 с рабочим столом Deepin
Обсуждение (57 +7) | Тип: Программы |


·08.07 Обновление X.Org Server 21.1.24, xwayland 24.1.13 и libXfont2 2.0.8 с устранением уязвимостей (58 +8)
  Опубликованы корректирующие выпуски X.Org Server 21.1.24 и DDX-компонента (Device-Dependent X) xwayland 24.1.13, обеспечивающего запуск X.Org Server для организации выполнения X11-приложений в окружениях на базе Wayland. В новых версиях устранены 2 уязвимости, которые потенциально могут быть эксплуатированы для повышения привилегий в системах, в которых X-сервер выполняется с правами root, а также для удалённого выполнения кода в конфигурациях, в которых для доступа используется перенаправление сеанса X11 при помощи SSH.

Исправленные уязвимости:

  • CVE-2026-55999 - переполнение буфера в реализации архитектуры 2D-ускорения Glamor, затрагивающее функцию glamor_font_get(), выполняющую построение текстурного атласа шрифта через отрисовку каждого глифа в общем буфере. Проблема вызвана тем, что размер буфера определялся на основе заданных в шрифте параметров, а при создании копируемых в буфер данных использовались индивидуальные метрики каждого глифа. Для эксплуатации уязвимости атакующий может подготовить специально оформленный файл в формате PCF, в котором заданы неверные метрики глифа, выходящие за пределы выделенного для них размера памяти. Переполнение возникает на системах, использующих бэкенд glamor (Xorg с драйвером modesetting и Xwayland) при отрисовке текста проблемным шрифтом.
  • CVE-2026-56000 - обращение к памяти после её освобождения в функции CommonMakeCurrent() при обработке GLX contextTags. Проблема вызвана тем, что при использовании функции realloc() данные массива cl->contextTags перемещались в новый буфер, но в обиходе оставался указатель, ссылающийся на старый буфер. Для инициирования перемещения буфера клиент мог занять все выделенные для GLX-контекста элементы массива, после чего создать ещё один дополнительный контекст.

Дополнительно можно отметить выпуск библиотеки libXfont 2.0.8, используемой в X-сервере. В обновлении устранены 3 уязвимости (CVE-2026-56001, CVE-2026-56002, CVE-2026-56003), приводящие к переполнению буфера при разборе специально оформленных шрифтов в формате PCF.

  1. Главная ссылка к новости
  2. OpenNews: Обновление X.Org Server 21.1.23 с устранением 9 уязвимостей
  3. OpenNews: Обновление X.Org Server 21.1.16 с устранением 8 уязвимостей
  4. OpenNews: Обновление X.Org Server 21.1.18 с устранением 6 уязвимостей
  5. OpenNews: Обновление X.Org Server 21.1.22 с устранением 5 уязвимостей
  6. OpenNews: Обновление X.Org Server 21.1.20 с устранением 3 уязвимостей
Обсуждение (58 +8) | Тип: Проблемы безопасности |


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



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

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