Компания Mozilla в рамках проекта Nova работает над модернизацией интерфейса Firefox. Доступно несколько макетов нового дизайна, позволяющих оценить основные тенденции.
Наиболее заметным изменением является усиление скругления кнопок вкладок и поля адресной строки, а также объединение в отдельно выделенные скруглённые блоки верхней области с панелью вкладок и панелью навигации, боковой панели, области с содержимым web-страниц и элементов страницы, показываемой при открытии новой вкладки. Разные блоки выделены своими цветовыми оттенками с градиентом.
Режим с вертикальными вкладками:
Пример светлой темы оформления с открытым меню.
Пример тёмной темы оформления с одновременным размещением двух вкладок бок о бок.
Пример окна в режиме приватного просмотра.
Пример компактного режима просмотра, в котором элементы интерфейса занимают меньше экранного пространства.
Опубликован экспериментальный выпуск открытой реализации Win32 API - Wine 11.4. С момента выпуска 11.3 было закрыто 17 отчётов об ошибках и внесено 211 изменений.
Продолжено развитие библиотеки msxml3 (Microsoft® XML Core Services), необходимой для работы инсталлятора продуктов Adobe Cloud, включая Adobe Photoshop. В msxml3 добавлена поддержка программного интерфейса SAX Reader, реализующего событийную модель обработки XML-документов, позволяющую обойтись без загрузки всего XML-документа в память за счёт генерации событий о выявлении XML-структур во время потокового чтения документа.
В реализации DirectSound оптимизированы операции изменения частоты дискретизации.
Предложена начальная реализация библиотеки CFGMGR32, применяемой для управления конфигурацией устройств. Добавлены вызовы: CM_Get_Class_Property_Keys, CM_Get_Device_Interface_List, CM_Get_Device_Interface_Property, CM_Get_Device_Interface_Property_Keys, а также обработчики для работы со свойствами устройств.
Улучшено сопоставление времени с часовыми поясами.
Закрыты отчёты об ошибках, связанные с работой приложений: Xara Xtreme 4, Explorer++, CodeGear RAD Studio 2009, FL Studio 12.4, Janetter 4.1.1.0, Xilinx Vivado 2014.4, iZotope, Native Access 2, ROMCenter, SSFpres.
Закрыты отчёты об ошибках, связанные с работой игр: Gag, Roblox Studio.
Дэн Бланшар (Dan Blanchard), разработчик Python-библиотеки chardet для определения кодировки символов, выпустил новую версию библиотеки под лицензией MIT вместо ранее применявшейся лицензии LGPL. Разработчик утверждает, что AI-ассистент Anthropic Claude, который теперь числится в списке контрибьюторов, переписал библиотеку без использования оригинального кода, что позволило ему заменить копилефт лицензию на пермиссивную.
К обсуждению данного действия присоединился пользователь, который представился Марком Пилгримом (Mark Pilgrim), первоначальным создателем библиотеки (к сожалению учётная запись этого пользователя пустая и проверить является ли он тем кем представился невозможно), и заявил, что у Дэна нет прав изменять лицензию проекта. Марк поставил под сомнение то, что новая ветка была создана с использованием метода "чистой комнаты", при котором для исключения нарушения авторских прав аналогичный продукт формируется на основе спецификаций и без доступа к исходному коду оригинала. По мнению Марка, добавление модного AI-генератора кода в процесс разработки не даёт права на смену лицензии.
Дэн возразил, что он сравнил разные версии при помощи библиотеки для обнаружения плагиата JPlag и сходство между версиями 7.0.0 и 6.0.0 составило 1.29%, а между версиями 1.1 и 7.0 - 0.64%. По словам Дэна, ни один файл в кодовой базе версии 7.0.0 не похож по структуре ни на один файл из любого предыдущего релиза. Новая ветка развивалась в отдельном пустом репозитории без доступа к старому дереву исходного кода. Кроме того, AI-агенту Claude была дана явная инструкция не основываться при разработке на коде, поставляемом под лицензиями LGPL и GPL.
Дэн также указал, что так как он уже более 10 лет занимается сопровождением проекта, он не мог полностью выполнить все требования метода "чистой комнаты", который предполагает жёсткое разделение между людьми, знакомыми с оригиналом, и теми, кто пишет новую реализацию. Поэтому для того, чтобы подтвердить, что новый код не является производным от оригинала, он воспользовался доказательством структурной независимости кода.
Дэн рассказал, что хотел, чтобы библиотека chardet была включена в стандартную библиотеку Python, так как она является ключевой зависимостью для множества проектов на Python. Но интеграции мешали три препятствия - лицензия, скорость и точность. В результате проведённой работы скорость обнаружения кодировки библиотекой увеличилась в 48 раз. Для проекта, который активно используется во многих других проектах, данная оптимизация приведёт к заметному повышению производительности для миллионов пользователей (пакет загружается около 130 миллионов раз в месяц).
Зои Койман (Zoë Kooyman), исполнительный директор Фонда свободного программного обеспечения, сообщила изданию The Register, что не может комментировать конкретные детали или законность проекта без проведения дополнительных исследований или консультаций с юристами, но нет ничего "чистого" в том, чтобы большая языковая модель (LLM) использовала код, который от неё требуют переписать.
При этом Зои решила дать моральную оценку поступку Дэна: "Что касается смысла GPL, то пермиссивная лицензия технически всё ещё является лицензией свободного программного обеспечения, но подрыв копилефта - это серьёзный поступок. Отказ предоставить другим права, которые вы сами получили как пользователь, является крайне антисоциальным, независимо от используемого метода."
Брюс Перенс (Bruce Perens), автор оригинального определения открытого исходного кода, считает, что воссоздание кода при помощи AI убивает экономику разработки программного обеспечения. По мнению Брюса, было бы правильным, если бы тренировка AI-моделей и весь выдаваемый моделями вывод изначально рассматривались как копирование, но в реальности сложилась иное отношение и его уже не переломить. Брюс считает, что грядут кардинальные изменения экономики и процессов, связанных с разработкой ПО, сравнимые с изменениями после изобретения печатного станка.
Парадигмы открытого и проприетарного ПО полностью изменятся в условиях, когда за несколько дней при помощи AI можно сгенерировать
готовый продукт, способный конкурировать с системами, на разработку которых потрачены десятки лет. Многие проприетарные компании, зависящие от сохранения закрытых разработок, которые можно легко клонировать, окажутся нежизнеспособны, и вероятно останутся только те, разработки которых проблематично воспроизвести.
Армин Ронахер (Armin Ronacher), создатель фреймворка Flask, считает, что код, поставляемый под копилефт-лицензиями, подобными GPL, и раньше можно было переписать с нуля и начать распространять под другой лицензией. Разница лишь в том, переписан код вручную или автоматически при помощи AI. При этом пока не ясно, какой уровень участия человека требуется для того, чтобы код, созданный с помощью AI, подпадал под защиту авторского права. В этом, по мнению Армина, ключевой вопрос.
Недавно Верховный суд США отказался пересмотреть дело "Талер против Перлмуттера", в котором истец пытался отменить решение нижестоящего суда, согласно которому он не мог защитить авторским правом изображение, созданное искусственным интеллектом. Верховный суд США оставил в силе решение суда нижней инстанции о том, что произведения, полностью созданные AI, не защищаются авторским правом.
В связи с данным решением возникло опасение о возникновении проблем при использовании кода, сгенерированного через AI в открытых проектах.
Не ясно, насколько активно должен использоваться AI при разработке, чтобы суд отказал в удовлетворении претензии на авторские права на код из‑за уменьшения вклада человека в разработку.
Юридические последствия применения большой языковой модели для переработки как открытых, так и проприетарных проектов (у которых был похищен исходный код) трудно предсказуемы и сильно зависят от прецедентов, создаваемых судами. Тем не менее, если большая языковая модель переписывает код на язык программирования, отличный от оригинала, то доказать создание производной работы становится практически невозможно.
Организация Wikimedia Foundation была вынуждена временно отключить возможность редактирования и запретить выполнение персональных скриптов на Meta-Wiki, Wikipedia и сопутствующих Wiki-сайтах, из-за инцидента с безопасностью, который создал угрозу компрометации учётных записей администраторов проекта и привёл к массовой вредоносной модификации страниц и скриптов.
Инцидент произошёл из-за халатности одного из инженеров организации Wikimedia Foundation, входящего в группу, обеспечивающую безопасность. В процессе тестирования лимитов на работу с API из персональных скриптов (user script), инженер экспериментировал с загрузкой большого числа случайных скриптов, используя реальные скрипты пользователей. Тестирование при этом осуществлялось с привилегированной учётной записи, имеющей доступ к редактированию скрипта MediaWiki:Common.js и возможности загружать JavaScript-скрипты для всех пользователей и страниц.
Среди запускаемых персональных скриптов оказался созданный несколько лет назад вредоносный скрипт test.js, загруженный с ru.wikipedia.org и содержащий функциональность червя, добавляющего себя во все JavaScript-файлы "User:<username>/common.js" и "MediaWiki:Common.js", а также редактирующий или удаляющий случайные страницы с примечанием о закрытии проекта (для выбора страниц вызывалась команда Special:Random).
Запуск данного скрипа с привилегированной учётной записи привёл к размещению вредоносного кода в пользовательских JavaScript-скриптах на Meta-Wiki. Из-за запуска добавленного червя при открытии страниц Meta-Wiki другими пользователями и администраторами Wikimedia возникла цепная реакция и массовый вандализм - несколько тысяч страниц было изменено, а у примерно сотни пользователей были заменены персональные скрипты common.js.
Вредоносный скрипт был использован в 2023 году для атаки на русскоязычные wiki-сайты Wikireality и Cyclopedia. В 2024 году пользователь с ником Ololoshka562 разместил данный скрипт на своей странице в ru.wikipedia.org (ru.wikipedia.org/wiki/user:Ololoshka562/test.js) и спустя полтора года данный скрипт был загружен и запущен инженером Wikimedia, проводящим эксперимент.
В настоящее время состояние пострадавших страниц восстановлено и возвращена возможность внесения изменений. Утверждается, что режим только для чтения и запрет на выполнение пользовательских JavaScript-скриптов продлился около 2 часов. Представители Wikimedia заявили, что у них нет оснований полагать, что инцидент вызван целевой атакой и привёл к компрометации персональных данных.
Представлены новые выпуски руководств Linux From Scratch 13.0 (LFS) и Beyond Linux From Scratch 13.0 (BLFS), сформированные только в форме редакции с системным менеджером systemd. В Linux From Scratch приведены инструкции по созданию с нуля базовой Linux-системы, используя лишь исходные тексты необходимого программного обеспечения. Beyond Linux From Scratch дополняет инструкции LFS информацией о сборке и настройке около 1000 программных пакетов, охватывающих различные области применения, от СУБД и серверных систем, до графических оболочек и медиапроигрывателей.
Новая ветка примечательна прекращением обновления версий руководств Linux From Scratch (LFS) и Beyond Linux From Scratch (BLFS) в конфигурации с системой инициализации SysVinit. Доступ к руководству LFS/BLFS 12.4 с SysVinit будет сохранён, выпуск LFS/BLFS 13.0 сформирован только в варианте с системным менеджером systemd.
В Linux From Scratch 13.0 обновлено 36 пакетов, среди которых ядро Linux 6.18.10, systemd 259.1, binutils-2.46, glibc-2.42, vim 9.2.0078, zlib 1.3.2, Python 3.14.3, coreutils 9.10, openssl 3.6.1, sqlite 3.50.4.
Исправлены ошибки в загрузочных скриптах, выполнены редакторские работы в пояснительных материалах по всей книге.
В Beyond Linux From Scratch 13.0 отмечено более 1500 обновлений. Среди прочего обновлены версии GNOME, KDE Plasma, Xfce и LXQt. В LXQt добавлена поддержка Walyand. Добавлены новые пакеты: Glycin, Showtime, Loupe, simdutf, kquickimageeditor, qtkeychain, kddockwidgets, lxqt-wayland-session, libheif, libde265, libfyaml, SVT-AV1, dav1d, SDL3, sdl2-compat, Maturin, setuptools_rust, semantic_version, uv_build, blueprint-compiler. Удалены пакеты: sqlite (перенесён в LFS), Sendmail, atkmm-2.28.x, dhcpcd, bridge-utils , pcre2, webp-pixbuf-loader.
Также обновлено руководство "Gaming Linux From Scratch 13.0" с инструкциями по установке в LFS 13.0 компьютерных игр и сопутствующих программ, таких как Steam и Wine. Руководство охватывает более 100 пакетов.
Кроме LFS и BLFS в рамках проекта ранее выпускалось несколько дополнительных книг:
Опубликован релиз языка программирования Rust 1.94, основанного проектом Mozilla, но ныне развиваемого под покровительством независимой некоммерческой организации Rust Foundation. Язык сфокусирован на безопасной работе с памятью и предоставляет средства для достижения высокого параллелизма выполнения заданий, при этом обходясь без использования сборщика мусора и runtime (runtime сводится к базовой инициализации и сопровождению стандартной библиотеки).
Методы работы с памятью в Rust нацелены на исключение ошибок при манипулировании указателями и защиту от проблем, возникающих из-за низкоуровневой работы с памятью, таких как обращение к области памяти после её освобождения, разыменование нулевых указателей, выход за границы буфера и т.п. Для распространения библиотек, обеспечения сборки и управления зависимостями проектом развивается пакетный менеджер Cargo. Для размещения библиотек поддерживается репозиторий crates.io.
Безопасная работа с памятью обеспечивается в Rust во время компиляции через проверку ссылок, отслеживание владения объектами, учёт времени жизни объектов (области видимости) и оценку корректности доступа к памяти во время выполнения кода. Rust также предоставляет средства для защиты от целочисленных переполнений, требует обязательной инициализации значений переменных перед использованием, лучше обрабатывает ошибки в стандартной библиотеке, применяет концепцию неизменяемости (immutable) ссылок и переменных по умолчанию, предлагает сильную статическую типизацию для минимизации логических ошибок.
В тип slice добавлен метод array_windows, создающий итератор для прохождения по срезам (slice) "окнами" фиксированного размера, сдвигающимися на один элемент за раз. В отличие от ранее доступного метола windows, метод array_windows оперирует постоянным размером окна и возвращает при каждой итерации ссылку на массив фиксированного размера (&[T; N]) вместо среза неопределённого размера (&[T]). Так как размер массива изначально известен компилятору, для повышения производительности можно обойтись без проверки границ массива на каждой стадии итерации.
let slice = [0, 1, 2, 3];
let mut iter = slice.array_windows();
assert_eq!(iter.next().unwrap(), &[0, 1]);
assert_eq!(iter.next().unwrap(), &[1, 2]);
assert_eq!(iter.next().unwrap(), &[2, 3]);
assert!(iter.next().is_none());
В конфигурационных файлах пакетного менеджера Cargo (.cargo/config.toml) реализована директива "include", позволяющая по месту вставлять содержимое других файлов.
В файлы с манифестами и конфигурационные файлы добавлена поддержка новой версии языка разметки TOML 1.1, в которой появилась поддержка многострочных встроенных таблиц, escape-последовательностей "\xHH" для вставки шестнадцатеричного представления байтов и "\e" для замены "\u001B", возможности оставлять запятую в конце последнего элемента и пропускать указание секунд в значениях времени.
serde = { version = "1.0", features = ["derive"] }
теперь можно заменить на
serde = {
version = "1.0",
features = ["derive"],
}
В разряд стабильных переведена новая порция API, в том числе стабилизированы методы и реализации типажей:
Платформа riscv64im-unknown-none-elf переведена на третий уровень поддержки. Третий уровень охватывает базовую поддержку, но без автоматизированного тестирования, публикации официальных сборок и проверки возможности сборки кода.
Дополнительно можно отметить недавно анонсированные проекты и события, связанные с Rust:
Айртон Муньос (Ayrton Muñoz), в своё время реализовавший поддержку платформы Sony PlayStation 1 в компиляторе Rust и занимавшийся портированием FreeBSD на компьютеры с чипами Apple Silicon, реализовал для FreeBSD возможность создания компонентов ядра и драйверов устройств на языке Rust.
Для тестирования предложен набор KPI-обвязок (Kernel Programming Interface), позволяющих использовать код на Rust в ядре FreeBSD, а также созданные с использованием данных обвязок звуковой драйвер virtio (virtio_snd), HID‑драйвер DockChannel для клавиатуры в M2 MacBook и несколько низкоуровневых драйверов для подсистем компьютеров Mac на чипах Apple Silicon.
Отмечается, что работа над Rust-обвязками ведётся с конца 2024 года. В обвязках пока реализована лишь часть C‑KPI и они позиционируются как не стабильные, но со временем уровень стабильности планируют довести до аналогичного интерфейса для языка Си. Предложенный в качестве примера драйвер virtio_snd пригоден для воспроизведения музыки в QEMU. Предполагается, что в 2026 году Rust-обвязки будут достаточно стабилизированы для того, чтобы заинтересованные разработчики могли начать использовать их для написания кода.
Бенни Зигерт (Benny Siegert), участвующий в разработке NetBSD, обосновал причины, по которым поддержка языка Rust не появится в ядре NetBSD: NetBSD поддерживает архитектуры, для которых Rust недоступен; поддержание имеющегося в pkgsrc инструментария Rust требует больших усилий и сопровождается лишь несколькими разработчиками; поддержка Rust в ядре требует включения компилятора Rust в базовую систему; при бутстрэпинге Rust в NetBSD используется прошлая версия бинарного пакета, что недопустимо для самодостаточных дистрибутивов, распространяемых в исходном коде; циклы формирования релизов Rust несовместимы с циклом разработки NetBSD и поддержки прошлых веток (например, продолжается поддерживаться ветка NetBSD 9, выпущенная в 2020 году, в этих условиях потребовалась бы поставка и поддержка компилятора Rust шестилетней давности).
Опубликован выпуск встраиваемой в приложения СУБД Turso 0.5, написанной на языке Rust и совместимой с SQLite на уровне диалекта SQL, формата файлов БД и C API. Из расширенных возможностей отмечается механизм CDC (Change data capture) для отслеживания изменения БД в реальном времени, использование io_uring для асинхронного ввода/вывода в Linux, поддержка векторного поиска, наличие выражения ALTER для изменения схемы БД, возможность шифрования данных в БД, режим инкрементальных вычислений, конструкция "BEGIN CONCURRENT".
Проект по предоставлению возможности использования стандартной библиотеки Rust в программах, выполняемых на стороне GPU.
Emuko - эмулятор RISC-V, написанный на Rust, способный загружать Linux, поддерживающий JIT-компиляцию, способный сохранять и восстанавливать снапшоты состояния.
RustConn (flatpak) - графический интерфейс для управления внешними сетевыми соединениями к другим хостам, поддерживающий SSH, RDP, VNC, SPICE, Telnet, Serial, Kubernetes, Zero Trust и SFTP. Код написан на Rust с использованием GTK4 и Wayland.
Представлена новая ветка проекта zlib-rs 0.6, отмеченная как первая стабильная версия, полностью совместимая с zlib C API и пригодная для прозрачной замены zlib. Проект нацелен на создание защищённого аналога библиотеки сжатия данных zlib. Разработка ведётся с оглядкой на проект zlib-ng, развивающий высокопроизводительный вариант zlib.
Представлен проект vcad, развивающий параметрическую систему автоматизированного проектирования (САПР), написанную на Rust и интегрируемую с AI-агентами при помощи протокола MCP. Поддерживается 3D-моделирование, симуляция, работа с 2D-эскизами, компонентная сборка, импорт в формате STEP и экспорт в форматах STL/GLB/STEP/DXF.
Опубликована система распознавания речи, написанная на Rust и использующая AI-модель Mistral Voxtral Mini 4B Realtime и фреймворк машинного обучения Burn. Проект ориентирован на распознавание речи на лету для формирования транскрипции при потоковом вещании.
Состоялся выпуск инструментария c2rust 0.22, предназначенного для трансляции Си-кода (C99) в unsafe-представление на Rust, близкое по своей структуре к изначальному коду на Си. Полученный рабочий каркас в дальнейшем можно использовать для постепенного перевода на идиоматический Rust и избавления от unsafe-блоков.
После года разработки опубликован релиз новой стабильной ветки почтового сервера Postfix - 3.11.0. В то же время объявлено о прекращении поддержки ветки Postfix 3.7, выпущенной в начале 2022 года. Код проекта написан на языке Си и распространяется под лицензиями EPL 2.0 (Eclipse Public license) и IPL 1.0 (IBM Public License).
В соответствии с финальным автоматизированным опросом около 500 тысяч почтовых серверов (после июля 2025 года публикация отчётов прекращена), Postfix используется на 37.88% (год назад 36.81%) почтовых серверов, доля Exim составляет 55.59% (год назад 56.61%), Sendmail - 3.55% (3.60%), MailEnable - 1.81% (1.82%), MDaemon - 0.40% (0.40%), Microsoft Exchange - 0.20% (0.19%), OpenSMTPD - 0.12% (0.09%).
Проведена работа по упрощению миграции с поисковых таблиц "hash:" и "btree:" на "lmdb:" или "cdb:" в связи с прекращением поставки библиотек BerkeleyDB в некоторых дистрибутивах Linux. Для сохранения совместимости с инструментарием Mailman, запускающим команду "postmap hash:/path/to/file" при добавлении или удалении списков рассылки, в Postfix добавлена поддержка автоматического перенаправления подобных команд на варианты с поддерживаемыми типами БД.
По умолчанию включено подключение к SMTP-серверам с использованием TLS-шифрования. В настройках SMTP-клиента параметр smtp_tls_security_level выставлен в значение "may", если Postfix собран с поддержкой TLS. Значение "may" включает по умолчанию использование TLS для серверов с поддержкой шифрования, но допускает откат на передачу данных открытым текстом, если сервер не поддерживает TLS.
В ESMTP реализована поддержка расширения "REQUIRETLS" (RFC 8689), позволяющего отправителю запросить гарантированное TLS-шифрование на всем пути доставки сообщения. В данном режиме любой SMTP и LMTP сервер, участвующий в перенаправлении письма, должен поддерживать REQUIRETLS и строгую аутентификацию через DANE или STS, а при передаче сообщения по цепочке другим серверам запрашивать использование REQUIRETLS.
Обеспечено отражение в логах уровня безопасности TLS, т.е. если для передачи сообщения затребован уровень REQUIRETLS, информация об использовании REQUIRETLS теперь будет сохранена в логе.
Добавлен параметр smtp_tls_enforce_sts_mx_patterns, включающий режим совместимости между SMTP-клиентом Postfix и плагинами MTA-STS (MTA Strict Transport Security), требующими включения поддержки TLSRPT для перенаправления атрибутов STS. При выставлении данного параметра, который активен по умолчанию, SMTP-клиент Postfix подключится к MX-серверу только если его имя соответствует шаблону, указанному в политиках STS. В противном случае будет использовано старое поведение - возможность соединения c MX-серверами на основании MX-записей в DNS при соответствии серверного сертификата политикам STS. Механизм MTA-STS позволяет информировать клиента, установившего соединение через незащищённый канал связи, о возможности и параметрах установки защищённого TLS-соединения. Поддержка параметра smtp_tls_enforce_sts_mx_patterns также добавлена в утилиты
postfix-tlspol и postfix-mta-sts-resolver.
Добавлена поддержка алгоритмов шифрования, стойких к подбору на квантовом компьютере, при сборке с OpenSSL 3.5 и более новыми выпусками.
Переведены в разряд устаревших 16 параметров конфигурации, при использовании которых в лог теперь будет выводиться предупреждение об их удалении в одном из будущих выпусках. В число устаревших параметров, среди прочего, включены "virtual_maps", "fallback_relay", "postscreen_whitelist_interfaces" и "smtpd_client_connection_limit_exceptions".
Добавлена поддержка вывода данных в формате JSON для команд: "postconf -j|-jM|-jF|-jP", "postalias -jq|-js", "postmap -jq|-js" и "postmulti -jl".
Улучшена обработка ошибок в Milter-фильтрах (mail filter), возникающих при обработке сообщений, полученных через уже давно установленные SMTP-соединения. Значение параметра #milter_default_action изменено с "tempfail" на значение "shutdown", подразумевающее закрытие соединения с клиентом в случае, если от Milter не получен ответ.
После года разработки представлен значительный выпуск дистрибутива OpenWrt 25.12.0, развиваемого для сетевых устройств, таких как маршрутизаторы, коммутаторы и точки доступа. OpenWrt поддерживает более 2200 устройств и предлагает систему сборки, упрощающую кросс-компиляцию и создание собственных сборок. Подобные сборки позволяют формировать готовые прошивки с желаемым набором предустановленных пакетов, оптимизированные под конкретные задачи. Готовые сборки опубликованы для 41 целевой платформы (в прошлой ветке поддерживалось 39 платформ).
Осуществлён переход с инструментария opkg на пакетный менеджер APK (Alpine Package Keeper), развиваемый проектом Alpine. Переход расширил возможности управления пакетами, повысил эффективность работы с метаданными, позволил реализовать проверку цифровых подписей для локально установленных пакетов и модернизировал процесс обновления всей системы до новой версии дистрибутива. APK поддерживает большую часть возможностей opkg, но параметры командной строки у данных пакетных менеджеров отличаются.
Из расширенных возможностей APK также выделяется: Команда "apk list --installed --orphaned", при помощи которой можно посмотреть все не используемые зависимости, которые без ущерба для системы могут быть удалены. Возможность обойтись без отдельной команды обновления индекса - операции opkg, требовавшие запуска разных команд, в apk могут быть сведены к одной команде, например, вместо "opkg update && opkg install dnsmasq-full" можно запустить "apk --update-cache add dnsmasq-full".
Сравнение некоторых команд apk и opkg для выполнения типовых действий:
apk update
opkg update
apk add pkg
opkg install pkg
apk del pkg
opkg remove pkg
apk list
opkg list
apk list P
opkg list P
apk list --installed [P]
opkg list-installed
apk list --upgradeable [P]
opkg list-upgradable
apk list --providers [P]
opkg -A whatprovides P
apk info P
opkg info P
apk info --all P
нет эквивалента
apk info --contents P
opkg files P
Включён по умолчанию сервис ASU (Attended SysUpgrade), позволяющий обновить прошивку до новой версии системы без потери имеющихся настроек и установленных пользователем пакетов. Через web-интерфейс LuCI или инструментарий командной строки пользователь отправляет запрос на формирование обновлённого образа прошивки, указывая установленные в его системе пакеты. Через какое-то время сервер ASU формирует образ, соответствующий заказанному содержимому, после чего пользователь загружает его и прошивает его на своё устройство. Дополнительно предоставляется опция, позволяющая сохранить в обновлённой прошивке имеющиеся настройки.
Обеспечено сохранение истории операций в командной строке между сеансами. История операций сохраняется в RAM-диске и не теряется после повторного входа. Хранение истории в оперативной памяти позволяет избежать лишних операций записи на Flash-накопители, но в качестве опции можно включить сохранение истории и на постоянном носителе, отредактировав скрипт '/etc/profile.d/busybox-history-file.sh'.
Shell-скрипты для работы с Wi-Fi и управления сетевой конфигурацией переписаны на языке uCode, имеющем синтаксис близкий к JavaScript. uCode отмечен как более безопасный и производительный язык, упрощающий сопровождение и позволяющий обеспечить прямую интеграцию с ubus и UCI.
Добавлена поддержка более 180 новых устройств. Общее число поддерживаемых устройств превысило 2200.
Для устройств на чипах Realtek расширена поддержка Ethernet-коммутаторов, включая 10-гигабитные варианты.
В платформу qualcommax добавлена поддержка SoC ipq50xx и ipq60xx.
Добавлена новая платформа siflower для SoC Siflower SF21A6826/SF21H8898.
Добавлены платформы sunxi/arm926ejs и microchipsw/lan969x для SoC Allwinner F1C100/200s и коммутаторов Microchip
LAN969x.
Обновлены версии пакетов, включая musl 1.2.5,
glibc 2.41, gcc 14.3.0, binutils 2.44, dnsmasq 2.91, dropbear 2025.89 и busybox 1.37.0.
Ядро Linux обновлено до выпуска 6.12.71 с беспроводным стеком cfg80211/mac80211, портированным из ядра 6.18.7 (в прошлой ветке поставлялось ядро 6.6 с беспроводным стеком из ядра 6.12).
Доступен выпуск проекта PortableGL 0.100, развивающего программную реализацию графического API OpenGL 3.x, написанную целиком на языке Си. Теоретически PortableGL может быть использован в любых приложениях, принимающих текстуру или фреймбуфер в качестве входных данных. Код оформлен в виде одного заголовочного файла и распространяется под лицензией MIT.
Проектом определены такие цели, как переносимость, соответствие API OpenGL, простота использования, простой код и высокая производительность. Из областей применения упоминаются обучение концепциям построения графических API, использование для работы с 3D-графикой на системах без GPU и интеграция поддержи OpenGL в специфичные операционные системы, для которых не перенесён пакет Mesa3D. Из готовых проектов, использующих PortableGL, отмечается порт Minecraft-подобной игры Craft.
В новой версии продолжено наращивание функций и возможностей OpenGL: Реализованы OpenGL-функции для работы с параметрами текстур, а также GLSL-функции texelFetch[1-3]D(). Добавлена поддержка выбора пиксельного формата на этапе компиляции и использования
любых 32- и 16-разрядных форматов цветовых буферов. Реализованы форматы PGL_D24S8 и PGL_D16. Добавлена возможность задания предопределённой конфигурации памяти.
Опубликован релиз мета-дистрибутива T2 SDE 26.3, предоставляющего окружение для формирования собственных дистрибутивов, кросс-компиляции и поддержания версий пакетов в актуальном состоянии. Из популярных дистрибутивов, построенных на базе системы T2, можно отметить Puppy Linux. Проектом предоставляется 10 готовых загрузочных iso-образов с графическим окружением на базе KDE, собранных для архитектур arm64, ia64, ppc64, ppc64le, riscv64, riscv64 rva23, i686 и x86-64.
Платформа сосредоточена на создании сборок на базе ядра Linux, но отдельно развиваются прототипы, позволяющие собирать пакеты для различных ОС, включая macOS, Haiku и BSD-системы. В планах поддержка создания окружений на основе других ядер, например, на базе L4, Fuchsia и RedoxOS, и формирование сборок на базе Android (AOSP). Для сборки доступно более 7000 пакетов.
В T2 обеспечивается поддержка 20 аппаратных архитектур, применяемых как в современных встраиваемых системах, так и на устаревшем оборудовании. Например, обеспечена поддержка игровых приставок Nintendo Wii U и Sony PS3, рабочих станций SGI, Sun и HP. Для большинства архитектур возможна загрузка в окружениях с 128 МБ ОЗУ. Поддерживаются такие архитектуры, как Alpha, Arc, ARM64, HPPA64, IA64, Loongarch64, M68k, Microblaze, MIPS64, Nios2, OpenRISC, PowerPC 64, RISC-V 64, s390x, SPARC 64, SuperH, i486, i686, i786, x86-64 и x32.
Сформированы полностью воспроизводимые сборки со средой рабочего стола KDE Plasma, использующие Wayland. Обеспечена поддержка кросс-компиляции для большей части компонентов Qt6 и KDE. Сборки с KDE доступны не только для архитектур x86-64 и ARM64, но для систем i686, IA-64, PowerPC64+le, UltraSPARC64 и RISCV64+RVA23. Опционально имеется поддержка установки и других пользовательских окружений, включая GNOME и Cosmic.
Добавлены пакеты с изменённым вариантом X-сервера, в котором восстановлена поддержка архитектуры 2D-ускорения XAA (XFree86 Acceleration Architecture). Поддержка XAA даёт возможность вернуть возможность использования 2D-ускорения системам с очень старыми видеокартами (ATi Mach-64, ATi Rage-128, SiS, Trident, Cirrus, Matrox Millennium/G450, Permedia2, Tseng ET6000 и Sun Creator/Elite 3D), для которых приходилось использовать программную отрисовку, так как DDX-драйверы для этих видеокарт не поддерживают актуальные архитектуры ускорения.
Обновлено более 7300 пакетов, среди прочего обновлены GCC 15.2, LLVM/Clang 22.1, ядро Linux 6.19.5, Mesa 26.0.1, Glibc 2.43, Musl 1.2.5 и uClibC 1.0.56.
По умолчанию задействован системный менеджер systemd.
Добавлена возможность загрузки в live-режиме для тестирования работы и графической установки.
Реализована поддержка распараллеливания сборки пакетов.
Компания Google объявила о начале использования в устройствах Chromebook чипов, построенных на базе открытой платформы OpenTitan. Chromebook стали первыми коммерчески доступными устройствами, оснащёнными OpenTitan. Следом в этом году в датацентрах Google планируют начать внедрения серверных систем с OpenTitan. Массовое производство чипов организовано компанией Nuvoton. Дополнительно отмечено о начале работы над второй версией чипа, который позволит использовать для безопасной загрузки и аттестации постквантовые алгоритмы шифрования ML-DSA и ML-KEM, реализующие методы криптографии, основанные на решении задач теории решёток.
Проект OpenTitan предоставляет платформу для создания заслуживающих доверия аппаратных компонентов (RoT, Root of Trust), применяемых там, где нужно гарантировать целостное состояние аппаратных и программных элементов системы. OpenTitan основан компанией Google в 2018 году, но в 2019 году был передан некоммерческой организации lowRISC, после чего к его разработке присоединились такие компании, как Western Digital, Seagate, Nuvoton Technology, Winbond, Rivos, zeroRISC и G+D Mobile Security. Связанный с проектом код и спецификации аппаратных компонентов опубликованы под лицензией Apache 2.0. В основу решений, применяемых в OpenTitan, заложены технологии уже используемые в криптографических USB-токенах Google Titan и TPM-чипах для обеспечения верифицированной загрузки, устанавливаемых на серверах в инфраструктуре Google, а также на устройствах Chromebook и Pixel.
В отличие от существующих реализаций Root of Trust, OpenTitan развивается в соответствии с концепцией "безопасность через прозрачность", подразумевающей доступность кода и схем, а также применение полностью открытого процесса разработки, не привязанного к конкретным поставщикам и производителям чипов. OpenTitan стал первой выпущенной на рынок открытой реализацией Root of Trust, в которой имеется поддержка постквантового механизма безопасной загрузки, основанного на использовании алгоритма формирования цифровых подписей SLH-DSA (Sphincs+), стойкого от подбора на квантовых компьютерах.
Чипы на базе OpenTitan могут использоваться в серверных материнских платах, сетевых картах, потребительских устройствах, маршрутизаторах и устройствах интернета вещей для верификации прошивок и загружаемых компонентов (защита от модификации критически важных частей системы), для генерации криптографически уникальных идентификаторов системы (защита от подмены оборудования), для предоставления связанных с безопасностью сервисов, для защиты криптографических ключей (изоляция ключей в случае получения злоумышленником физического доступа к оборудованию) и для ведения изолированного лога аудита, который невозможно отредактировать или стереть.
OpenTitan включает логические блоки, востребованные в RoT-чипах, такие как открытый микропроцессор на базе архитектуры RISC-V (RV32IMCB Ibex), криптографические сопроцессоры, аппаратный генератор случайных чисел, менеджер ключей с поддержкой DICE, механизм защищённого хранения данных в постоянной и оперативной памяти, технологии защиты, блоки ввода/вывода и компоненты безопасной загрузки. Устройство также предоставляет блоки с реализацией типовых алгоритмов шифрования, таких как AES и HMAC-SHA256, и ускоритель математических операций, применяемых в алгоритмах для работы с цифровыми подписями на базе открытых ключей.
Опубликован выпуск kafkalet 0.1, десктопного графического клиента для работы с Apache Kafka. Приложение поставляется в виде самодостаточного бинарного файла размером около 15 МБ, не требует установки JVM, Docker или запуска серверных компонентов. Код проекта написан на Go и TypeScript и распространяется под лицензией MIT. Сборки подготовлены для macOS (Intel и Apple Silicon), Windows и Linux.
В отличие от существующих веб-ориентированных инструментов, таких как Kafka UI и AKHQ, требующих развёртывания серверного процесса в Docker, kafkalet работает как обычное десктопное приложение - аналогично DBeaver или DataGrip для баз данных. Единственным десктопным Kafka-клиентом до сих пор оставался Offset Explorer (ранее Kafka Tool), написанный на Java и давно не обновлявшийся.
Приложение kafkalet построено на базе фреймворка Wails v2, объединяющего Go-бэкенд с веб-интерфейсом на React 18, TypeScript и shadcn/ui в единый нативный бинарный файл. Для взаимодействия с Kafka используется библиотека franz-go, реализованная на чистом Go без зависимости от librdkafka и CGO.
Основные возможности:
Система профилей для управления несколькими окружениями (production, staging, dev). Каждый брокер в профиле может иметь несколько именованных учётных записей с возможностью быстрого переключения. Пароли и токены хранятся исключительно в системном хранилище секретов ОС (macOS Keychain, Windows Credential Manager, libsecret на Linux) и не записываются в конфигурационные файлы.
Режим Observer - чтение сообщений из топика без подключения к consumer group, без коммита смещений и без побочных эффектов на кластере. Отдельный режим Consumer позволяет подключиться к группе и зафиксировать смещения вручную.
Навигация по времени (seek to timestamp) - переход к сообщениям по указанной дате и времени без необходимости вычислять смещения вручную.
Поддержка методов аутентификации: SASL PLAIN, SCRAM-SHA-256, SCRAM-SHA-512, OAUTHBEARER (статический токен и client credentials flow), TLS с проверкой сертификата сервера, mTLS (взаимная аутентификация по сертификатам).
Потоковый просмотр сообщений с regex-фильтрацией по ключам и значениям в реальном времени. Поддерживается одновременное наблюдение за несколькими топиками в отдельных вкладках. Виртуализация списка позволяет отображать более 50 000 сообщений без снижения производительности.
Управление топиками: создание, удаление, изменение конфигурационных параметров, просмотр разделов, лидеров и набора синхронизированных реплик (ISR).
Управление consumer groups: просмотр отставания (lag) по разделам, сброс смещений на earliest, latest или конкретную временную метку, просмотр участников группы (client ID, хост, назначенные топики), удаление групп.
Отправка сообщений с указанием ключа, значения, заголовков и целевого раздела.
Организация топиков: закрепление часто используемых топиков, группировка в именованные папки, поиск с поддержкой регулярных выражений и фильтрацией по минимальному числу разделов.
Экспорт буфера сообщений в формате JSON или CSV.
Интеграция с Confluent Schema Registry для автоматического декодирования сообщений в формате Avro.
Система JavaScript-плагинов для пользовательского декодирования сообщений (Protobuf, MessagePack и другие форматы).
Импорт и экспорт настроек в формате JSON, включая профили, группы топиков и закреплённые топики.
Компания Google представила третий квартальный релиз открытой мобильной платформы Android 16 (QPR3). Связанный с новым выпуском исходный код будет размещён в Git-репозитории проекта в ветке android-16.0.0_r5. Сборки прошивки подготовлены для устройств Pixel с 6 по 10 серии. Дополнительно сформированы универсальные сборки GSI (Generic System Images), подходящие для разных устройств на базе архитектур ARM64 и x86_64. В ближайшие месяцы прошивки с новой версией ожидаются для смартфонов Samsung, Honor, iQOO, Lenovo, Motorola, Nothing, OnePlus, Oppo, realme, Sharp, Sony, Tecno, vivo и Xiaomi.
Добавлен режим рабочего стола, активируемый при подключении устройства к внешнему большому экрану. По аналогии с традиционной средой рабочего стола новый режим позволяет одновременно работать с окнами нескольких приложений, менять размер окон и использовать для навигации панель задач, показывающую активные приложения и допускающую закрепление ярлыков наиболее часто используемых программ.
Возможно подключение клавиатуры и мыши, и назначение собственных комбинаций клавиш. На внешнем экране создаётся новый сеанс рабочего стола, а на телефоне можно продолжать работать в мобильном интерфейсе. Возможность включения десктоп-режима при подключении к внешнему экрану заявлена для смартфонов Google Pixel серии 8, 9 и 10, а также устройств Samsung S26, Fold7, Flip7 и Tab S11.
При использовании режима на планшетах, таких как Samsung Galaxy Tab S11, десктоп-режим можно применять и на основном экране устройства, а внешний монитор использовать как дополнение к экрану планшета. В этом случае создаётся многомониторная конфигурация с единым виртуальным экраном, позволяющая перемещать курсор и окна приложений между основным и внешним экраном.
Мобильные приложения, созданные с использованием механизмов построения адаптивного интерфейса, в десктоп-режиме выглядят как типовые настольные приложения. Из возможностей для создания адаптивных приложений отмечены объект Display (позволяет отслеживать изменение настроек экрана и перемещения приложения на другой экран) и API для обработки событий с клавиатуры и мыши. В оконный менеджер Jetpack WindowManager добавлены новые классы экранов - Large и Extra-large. Добавлены библиотеки Navigation 3 и Compose Material 3 Adaptive для создания интерфейсов, подстраивающихся под размер экрана.
Обеспечена интеграция мессенджера Google Messages с Find Hub, позволяющая делиться информацией о своём местоположении во время чата и отслеживать нахождение друзей на карте в режиме реального времени. Возможно ограничение времени доступа к местоположению и досрочное прекращение передачи сведений.
В Find Hub добавлена функция поиска местоположения потерянного авиакомпанией багажа, через отслеживание позиции размещённого в багаже Android-устройства и передачу службе поддержки авиакомпании ссылки, позволяющей увидеть информацию о местоположении в любом браузере.
В Google Play добавлена поддержка отображения видео при навигации по каталогу приложений для более наглядного ознакомления с возможностями программ.
Добавлена поддержка создания визитной карточки с фотографией и текстом, которые будут показаны получателю исходящего звонка.
В Android Auto добавлен набор одобренных учителями обучающих игр для детей в возрасте от 3 до 12 лет, запускаемых на панели автомобильной информационной системы.
В область уведомлений добавлена возможность показа краткой выжимки непрочитанной переписки в чате и помещения неважных уведомлений в отдельную группу.
Добавлена возможность изменения формы пиктограмм на домашнем экране и применения ко всем пиктограммам монохромной темы оформления.
В прошивках для устройств Google Pixel реализованы такие новшества, как поддержка распознавания одновременно нескольких объектов в Circle to Search, использование AI-ассистента Gemini для выполнения повседневных задач (например, можно заказывать продукты и взаимодействовать с программами на смартфоне), новое приложение Now Playing для распознания звучащих поблизости музыкальны треков, вывод в виджете At a Glance информации о курсах акций, пробках и счёта спортивных матчей, AI-генерация собственного стиля пиктограмм для домашнего экрана.
Ранее проект развивал собственный рабочий стол NX Desktop, реализованный в форме надстройки над KDE Plasma, но начиная с прошлого выпуска перешёл на поставку пользовательского окружения, построенного на базе композитного сервера Hyprland, панелей Waybar и Crystal Dock, меню приложений Wofi и меню завершения работы в системе Wlogout. Для запуска игр задействован композитный сервер Gamescope, развиваемый компанией Valve. Для вывода уведомлений применяется Sway Notification Center, а для показа экранных индикаторов - SwayOSD.
Среди изменений в новом выпуске:
В состав включён созданный разработчиками дистрибутива инструментарий VxM, предназначенный для управления гипервизором и организации запуска в виртуальных машинах операционных систем с производительностью близкой к нативному выполнению. Для повышения производительности гостевых систем в VxM задействованы механизмы аппаратного ускорения на системах с несколькими GPU, прямой проброс PCI-устройств и событий ввода, изоляция ресурсов дискретных видеокарт при помощи IOMMU.
Задействован пакет с ядром Linux 6.19.2, включающий патчи от проекта CachyOS. До версии 1.0.12 обновлён инструментарий для поддержка механизма "sched_ext" (SCX), позволяющего использовать eBPF для создания планировщиков CPU. Внесены изменения для блокирования перехода накопителей NVMe в глубокие режимы энергосбережения, позволившие значительно сократить время загрузки.
Композитный сервер Hyprland обновлён до версии 0.53.3. Задействован новый синтаксис правил, определяющих поведение окон (windowrules). Предоставлена возможность использования ночной подсветки Hyprsunset. Изменена анимация открытия и закрытия окон. На экране блокировки системы
Hyprlock обеспечен вывод сведений о заряде аккумулятора, увеличен размер аватара пользователя и добавлена информация о воспроизводимом мультимедийном контенте.
Вместо QtGreet задействован новый экран входа в систему QMLGreet, написанный с использованием фреймворка MauiKit и завязанный на фоновый процесс greetd. В QMLGreet поддерживаются стандартные цветовые схемы KDE, настраиваются шрифты, возможно подключение собственных тем пиктограмм и обоев рабочего стола, автоматически определяются сеансы на базе Wayland, обеспечена интеграция с logind или elogind. Для интеграции с композитными серверами на базе wlroots в QMLGreet используется Wayland-протокол Layer Shell (wlr-layer-shell-unstable-v1).
Добавлен экранный интерфейс NudgeOSD для отображения системных уведомлений и информации о комбинациях клавиш. NudgeOSD написан на QML с использованием MauiKit и LayerShell-Qt, поддерживает цветовые темы KDE и системные темы пиктограмм.
Переписан инструментарий управления обновлением системы - nuts-cpp (Nitrux Update Tool System). Вместо Shell-скриптов задействованы написанные на С++ компоненты с клиент-серверной архитектурой. Интерфейс переписан на базе MauiKit, а для выполнения привилегированных операций обеспечена интеграция с PolicyKit. Для обеспечения целостности транзакций и отката изменений в случае проблем задействованы атомарная установка обновлений и снапшоты XFS.
Добавлен режим восстановления (Nitrux Rescue Mode), реализованный на уровне initramfs и позволяющий в случае сбоя откатить систему в прошлое рабочее состояние, используя криптографически верифицируемые резервные копии XFS, созданные инструментарием NUTS при обновлении системы. Помимо этого предоставляется возможность восстановления конфигурации загрузчика и выбора сохранённого снапшота ФС из загрузочного меню.
В загрузчик GRUB добавлен пункт "Intel Xe Mode", активирующий на системах с GPU Intel драйвер Intel xe вместо i915. В Intel xe поддерживается работа с GPU Intel Gen12 (Xe-LP), Meteor Lake (Xe-LPG), Lunar Lake и Xe2.
Добавлен модуль ядра kvmfr (Looking Glass) для эффективного отображения экрана гостевой системы в отдельном окне.
Компания Google объявила о сокращении в два раза цикла разработки браузера Chrome. В соответствии с новым графиком релизы начнут выпускаться каждые две недели, а не раз в четыре недели, как практиковалось с 2021 года. Сборки Extended Stable, ориентированные на тех, кому необходимо больше времени на обновление, как и раньше продолжат формироваться раз в 8 недель.
Целью сокращения цикла разработки называется желание более оперативно доводить новые возможности, исправления ошибок и оптимизации до пользователей и разработчиков web-приложений. Предполагается, что более частая публикация релизов не повлияет на качество, снизит риск сбоев при обновлении и упростит отладку, так как в каждом выпуске будет предлагаться меньше изменений.
Сокращённый цикл разработки начнёт действовать 8 сентября, после формирования по старому графику выпуска Chrome 153. Последующие стабильные выпуски и бета-версии, в которых осуществляется стабилизация перед релизом, начнут публиковаться каждые две недели. Цикл разработки веток Dev и Canary останется прежним, т.е. работа по разработке новой функциональности будет осуществляться в прежнем темпе (публикация ежедневных сборок Canary и формирование 1-2 раза в неделю dev-сборок, прошедших автоматизированное тестирование).